python Csv問題

256 回覆
0 Like 55 Dislike
2020-11-28 15:16:33
都唔知你係pandas出error定自己想將nan轉做error,係既你咪自己.fillna("Error") 囉
同埋fill個error做string係完全無意義,成個column dtype會轉咗object,冇得再進行運算
2020-11-28 21:55:15
唔好意思 我表達得唔好

Csv1



Csv2




Csv1係唔改變 column A 係unique
而Csv2就係用Csv1去做對比
2020-11-28 23:44:10
其實你PO圖不如PO data啦好冇?唔通次次都要人跟你幅圖打一次?
就算你就咁PO:

A B
0 1 100
1 2 200
2 3 300
3 4 400
4 5 500

至少我都可以用pd.read_clipboard()呀大佬
2020-11-29 00:56:13
對唔住 大佬

因為我怕直接po data 會講到更亂
2020-11-29 01:18:41
其實真係唔想答你,每一次都問到一舊舊,最慘仲要我跟住你啲圖自己入一次,如果你再咁樣問法我唔會再答。如果唔識點問,去呢度自己睇下:

https://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples

以下係估你既logic(連呢啲都要人估真係...)

s = df2['A'].map(df1.set_index('A')['B'])

df2["C"] = np.select([s.isnull(), s<df2["B"], s>df2["B"]],
                     ["Error", "Over", "Under"], "Same")

print (df2)

     A     B      C
0    1   300  Under
1    2   300   Over
2    1  1000   Over
3  100   100  Error
4    3   100  Under
5    4   100  Under
6    5   100  Under
7    5   200   Same
8    6    49  Under
2020-11-29 01:36:51
明白 真係唔好意思
大至上都係想要咁既效果
我試下先
不過Under個時想Col C變為Null 係唔係咁改就得?


s = df2['A'].map(df1.set_index('A')['B'])

df2["C"] = np.select([s.isnull(), s<df2["B"], s>df2["B"]],
["Error", "Over", ""], "Same")
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞