panda DataFrames 插入函数的说明
Clarification on the insert function of panda DataFrames
我有一个问题,我正在尝试更熟悉 python 和 pandas,我想知道为什么这不起作用:
list_features_countries = [features_AU, features_CA, features_UK, features_US, features_JP, features_DE, features_SW]
for x in list_features_countries:
x = x.drop(columns=x.columns[0], axis=1, inplace=True)
x = x.insert(0,'time_period', Eco_AU['time_period'])
(它给出了错误:AttributeError: 'NoneType' object has no attribute 'insert')
但是,这确实有效:
list_features_countries = [features_AU, features_CA, features_UK, features_US, features_JP, features_DE, features_SW]
for x in list_features_countries
x = x.drop(columns=x.columns[0], axis=1, inplace=True)
for x in list_features_countries:
x = x.insert(0,'time_period', Eco_AU['time_period'])
所以基本上我尝试删除列表中每个数据框的第一列,然后添加另一个数据框的一列。
第一个变体的问题是参数 inplace=True
。
这意味着现有数据帧 (x) 已就地更改,调用 x.drop(... inplace=True)
returns None。
所以此时x被赋值为None,导致下一步报错
解决方案是删除 inplace=True
参数,以便 x.drop(...)
函数 returns 编辑的数据框:
x = x.drop(columns=x.columns[0], axis=1)
x = x.insert(0,'time_period', Eco_AU['time_period'])
或删除分配:
x.drop(columns=x.columns[0], axis=1, inplace=True)
x = x.insert(0,'time_period', Eco_AU['time_period'])
我有一个问题,我正在尝试更熟悉 python 和 pandas,我想知道为什么这不起作用:
list_features_countries = [features_AU, features_CA, features_UK, features_US, features_JP, features_DE, features_SW]
for x in list_features_countries:
x = x.drop(columns=x.columns[0], axis=1, inplace=True)
x = x.insert(0,'time_period', Eco_AU['time_period'])
(它给出了错误:AttributeError: 'NoneType' object has no attribute 'insert')
但是,这确实有效:
list_features_countries = [features_AU, features_CA, features_UK, features_US, features_JP, features_DE, features_SW]
for x in list_features_countries
x = x.drop(columns=x.columns[0], axis=1, inplace=True)
for x in list_features_countries:
x = x.insert(0,'time_period', Eco_AU['time_period'])
所以基本上我尝试删除列表中每个数据框的第一列,然后添加另一个数据框的一列。
第一个变体的问题是参数 inplace=True
。
这意味着现有数据帧 (x) 已就地更改,调用 x.drop(... inplace=True)
returns None。
所以此时x被赋值为None,导致下一步报错
解决方案是删除 inplace=True
参数,以便 x.drop(...)
函数 returns 编辑的数据框:
x = x.drop(columns=x.columns[0], axis=1)
x = x.insert(0,'time_period', Eco_AU['time_period'])
或删除分配:
x.drop(columns=x.columns[0], axis=1, inplace=True)
x = x.insert(0,'time_period', Eco_AU['time_period'])