从数据框转换为字典时Dtype更改

时间:2015-10-07 19:07:15

标签: python dictionary pandas

我使用Pandas读取Excel中的csv文件,并将其转换为数据框(显然还有更多值):

df_c = pd.read_csv(r'<filename>, low_memory = False)

CRASH_ID    SER_NO  CMPSS_DIR_CD    URB_AREA_CD  CRASH_DAY_NO
1486150     1       2               67           1
1486152     3       7               67           1
1486224     4       2               53           5
1486225     5       9               54           2

我使用to_dict将其转换为字典,以便每个列名都有一个与之关联的值列表:

dfdict = df_c.to_dict(orient='list')

但大多数(如果不是全部)dfdict中的数值由于某种原因已被转换为浮点数,原因如下:

{'CRASH_ID': [1486150, 1486152, 1486224, 1486225],
'SER_NO': [1, 3, 4, 5],
'CMPSS_DIR_CD': [2.0, 7.0, 2.0, 9.0],
'URB_AREA_CD': [67.0, 67.0, 53.0, 54.0],
'CRASH_DAY_NO': [1, 1, 5, 2]}

哪个不好,因为我需要将dfdict中的值与不同的值列表进行匹配,因此如果dfdict中的某些值具有小数,则匹配将不起作用正确。

我已经检查过以确保原始数据框中没有任何浮点数。它没有。我已经尝试强制数据帧成为df_c.applymap(str)的字符串,但数据根本不会改变,当我尝试强制字典包含df_c.astype(object).to_dict的字符串时,它也不会改变(如建议here)。

0 个答案:

没有答案