【发布时间】:2016-12-13 12:34:35
【问题描述】:
我目前在 Dataframe 上使用 pandas,在读取 csv 文件并将特定列转换为 str 后,pandas 似乎将此行的所有重复项转换为 NaN。
bla = pd.read_csv(bla_path, sep=',',converters={'order_id':str})
它给了我这个结果:
internal_conversion_id order_id conversion_target_id \
0 85 9222 67
1 20 9224 65
2 20 NaN 65
3 20 NaN 65
4 33 9233 67
5 33 NaN 67
有人知道我错过了什么吗?原始文件确实包含重复项。
编辑:我刚刚检查过 - 当我不使用 converters 时也会发生这种情况。
编辑 2:这里有一些来自原始 csv 的行:
internal_conversion_id,order_id,conversion_target_id,product_nr
85,9222,67,1
20,9224,65,1
20,9224,65,2
20,9224,65,3
33,9223,67,1
33,9223,67,2
EDIT3:
好的,我想我找到了来源。
在代码中的某个时刻,我想创建第二个变量,其内容与第一个变量相同,但没有重复项。 Pandas 也会删除第一个变量中的所有重复项。如何阻止 Pandas 这样做?
这是一段代码:
bla2 = bla
bla2['order_id'] = bla2['order_id'].drop_duplicates()
bla2 = bla2[pd.notnull(bla2['order_id'])]
【问题讨论】:
-
可以贴几行原始csv文件吗?
-
重复是什么意思?
-
如果不查看您的 CSV 文件,很难提供帮助。像@AlbertoGarcia-Raboso 所说的那样发布你的 csv 文件的头部
-
如果那是你的输入文件,你为什么使用
sep=','? -
我无法重现该问题。
标签: python-2.7 pandas