python Csv問題

256 回覆
0 Like 55 Dislike
2020-10-27 17:56:09
Use map.

假設T1 column叫A, T2 叫A同B

df1[“A”].map(df2.set_index(“A”)[“B”])

Note that個df2 A value一定要喺unique

亦可用merge,但冇map咁efficient
2020-10-27 19:59:19
咁可唔可以好似樓上咁用df[1]
而唔係用df[“A”]
2020-10-27 20:04:46
意思T2.Csv既col1一定要unique?
2020-10-27 20:11:37
Map係hashmap,value一定要one to one

如果要one to many, use df1.merge(df2, ...)

Search pandas merge 101,第一個result就係教學帖。
2020-10-27 20:12:31
你鍾意叫咩名咪叫咩名,column名係自定義
2020-10-27 20:26:13
好既!
2020-10-27 20:27:23
因為我打算唔定個column既名
想好似之前咁直接指第幾個咁用
2020-10-28 13:49:57
而加有一個問題係
我想col 4同col5對調
col4本身有小數
col5就只有整數
所以就用左呢個
df.loc[:, [4, 5]] = (str(df.loc[:, [5, 4]]).to_numpy())
之後就發現col5既data就出現左小數
就算我入整數都係有小數
但我應該點整走佢?
例如會出500.0
但我只想出500
2020-10-28 14:08:33
做咩無啦啦加個str落去?有咩意思?

Use df.loc[:, [4, 5]] = df.loc[:, [5, 4]].to_numpy()
2020-10-28 14:13:50
我原本就係用呢個
但之後個col 5就保留左一個小數

即係入500都係出500.0
2020-10-28 14:28:39
有冇得改個csv既儲存格格式?
2020-10-28 15:04:22
我係唔係應該係df.to_csv個時改?
2020-10-28 15:24:34
dtype問題,你可以自己改dtype

df.loc[:, [4, 5]] = df.loc[:, [5, 4]].to_numpy()

df[[4, 5]] = df[[4, 5]].astype(int)

如果出error即係你其中一行有NaN,int唔可以有NaN,要轉Int64(大階I)
df[[4, 5]] = df[[4, 5]].astype("Int64")

另一個方法就係唔assign,只轉column名再sort column:
df = df.rename(columns={4:5, 5:4}).sort_index(axis=1)

to_csv documentation已經寫得好清楚,自己去睇,唔明先問。
2020-10-28 15:27:08
我搵到解決方法啦!
原本只要用astype去定個col做int就得
2020-10-28 15:28:18
係既 我解決左啦 感激大佬
2020-10-30 14:59:27
而加我有一個問題
我有一個for loop黎loop data
但係我唔知點入落col 1
2020-10-30 15:05:26
Sample?
2020-10-30 15:15:23


因為我而加係根據個CSV 既col 0去crawler
然後想入落col 1到
crawler個到就整好左
可以根據col 0攞到我我想要既data
但係入唔到個col 1到
2020-10-30 17:43:14
應該點改好?
2020-10-30 17:55:31
講咗好多次唔好用loop既諗法,update要update一行。
比我會自己def一個function.

https://pastebin.pl/view/0df39b7b
2020-10-30 22:41:16
麻煩曬
我聽日試下
因為我係寫左個crawler先
所以就用左Loop 唔好意思
2020-10-31 17:48:52
我想問點樣可以令啲數值加3%?
因為我想張crawler番黎既值對比番col 2
如果col2 比crawler番黎既值大過或細過3%就會有提示
2020-10-31 19:28:54
df[crawler].mul(1.03).gt(df[“col2”])|df[crawler].mul(0.97).lt(df[“col2”])
2020-11-01 01:30:34
df[crawler]係唔係讀緊已經crawler落黎個個col?
2020-11-01 12:48:16
咁應該點放?
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞