python pandas - 使用整数作为列名对数据帧进行子集化

时间:2017-10-24 09:11:42

标签: python pandas dataframe

如何使用整数作为列名对数据帧进行子集化?

我有这个pandas数据帧:

df
-3  -2  -1  0  col1
--------------------
a    b   c  d  text1
e    f   g  h  text2

可以做到这一点很好:

print(df.col1)

但我不能这样做到子集:

print(df.0)

即使我将列名转换为整数字符串,我仍然不能这样做:

print(df.'0')
在R中,对于基于整数的列名称,我们可以这样做

df$`0`

1 个答案:

答案 0 :(得分:1)

仅针对select:

需要[]
print(df[0])

您可以查看attribute access

  

仅当index元素是有效的python标识符时才可以使用此访问权限,例如 s.1 是不允许的。有关有效标识符的说明,请参阅here

     

如果该属性与现有方法名称冲突,则该属性将不可用,例如 s.min 是不允许的。

     

同样,如果该属性与以下任何列表冲突,该属性将不可用:索引 major_axis minor_axis 项目标签

     

在任何这些情况下,标准索引仍然有效,例如: s [' 1'] s [' min'] s [' index&# 39;] 将访问相应的元素或列。

     

系列/面板访问从0.13.0开始可用。