我发现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'>
理想情况下,我希望保持一致。不管是什么。预先感谢您的任何见解!