1
我有一个数据帧df
访问列,我想我也可以做创建新列:创建,删除,并在大熊猫数据帧
df.Age = 4
这并没有工作,因为我只给数据框属性Age
并为其指定编号4
此外,当我尝试df.head()
时,输出也没有显示Age
列。
所以我想如果有删除数据框Age
的一种方法,实际上,我怎么在我的数据帧创建一列Age
,只装着4
的?
我有一个数据帧df
访问列,我想我也可以做创建新列:创建,删除,并在大熊猫数据帧
df.Age = 4
这并没有工作,因为我只给数据框属性Age
并为其指定编号4
此外,当我尝试df.head()
时,输出也没有显示Age
列。
所以我想如果有删除数据框Age
的一种方法,实际上,我怎么在我的数据帧创建一列Age
,只装着4
的?
有两种访问DataFrame中的列的方法。 通过:
df.column_name
)df['column_name']
)的点标记是仅可用于读取和修改现有列,不能用于创建新列。
如果你想创建一个新的列,您必须使用列表访问
df['Age'] = 4
将创建一个新的列'Age'
,其中所有的元素都是4
这样做后,你可以更新此列使用df.Age = 6
,但不是之前。
删除现有列由python本地del
关键字完成。
del df.Age
将不是工作的列,因为这是一个属性访问器。如果你有创建的数据框对象上的属性
del df['Age']
将删除列'Age'
如果它是一个列,而不是一个属性
参见[这里](它将但工作https://github.com/pydata/pandas/issues/7175),显然你不能通过点符号来指定一个新列,所以你应该像'df ['Age'] = 4'这样做。 – Marius 2014-09-22 06:58:54
你碰巧知道如何删除该项目? – Alex 2014-09-22 07:03:07
'del df.Age'应该这样做,但理想情况下,您只需从一开始就重新运行脚本,而无需尝试分配任务。始终以最佳的数据内容将所有数据转换步骤保存在脚本中,并且每当您开始新的会话IMO时,只需重新创建从原始数据开始的所有步骤。 – Marius 2014-09-22 07:07:25