熊猫to_dict类型转换是特定于上下文的

时间:2018-09-28 18:07:36

标签: pandas

我发现pandas数据框类to_dict方法的输出对于不同数据框中相同dtype的列是不同的。我有一个数据帧,其中所有列的类型均为int64。此数据帧上的to_dict将打印int64类型的值。在存在int64类型的列和另一类型不同的列的另一个数据帧中,在to_dict之后的int64列值表示为int类型。是否有解释为什么这种方法应该产生一个值的表示形式,该值取决于同一数据帧中其他值的类型?

import pandas as pd

df1 = pd.DataFrame([{'a': 1, 'b': 'str'}])
df2 = pd.DataFrame([{'a': 1, 'b': 2}])

l1 = df1.to_dict(orient='records')
l2 = df2.to_dict(orient='records')

for i in l1:
    for k in i:
        print(type(i[k]))


for i in l2:
    for k in i:
        print(type(i[k]))

输出:

<class 'int'>
<class 'str'>
<class 'numpy.int64'>
<class 'numpy.int64'>

理想情况下,我希望保持一致。不管是什么。预先感谢您的任何见解!

0 个答案:

没有答案