从dataframe转换为dictionary时数据类型更改

2024-09-30 22:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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将其转换为字典,这样每个列名都有一个与之关联的值列表:

^{pr2}$

但是,由于某些原因,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中的值,所以如果{}中的某些值有小数,那么匹配将无法正常工作。在

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


Tags: csvto数据noiddfdircd