让我们创建一个空的数据帧:
import pandas as pd
df = pd.DataFrame(columns=['member', 'total'])
如果我们使用df.append()
向df
添加数据:
我们将自动获取member
列的对象数据类型和total
列的timedelta64[ns]数据类型。在
现在,让我们在创建数据帧时指定一个索引,并使用df.loc[]
添加数据:
df = pd.DataFrame(index=some_index, columns=['member', 'total'])
df.loc[index_label] = {'member': 'some_string', 'total': pd.Timedelta(...)}
不幸的是,在本例中,我们将看到total
列的object dtype。为什么?在
df.append
创建一个全新的数据帧,因此它可以重新计算所有列的最佳类型。df.loc
修改现有的数据帧,因此它不会这样做。(它只会在需要使类型不那么特定时更改类型,例如,如果在数值列中插入字符串,则会转换为object dtype。)相关问题 更多 >
编程相关推荐