当列数事先未知时如何访问 Pandas 数据框列

Posted

技术标签:

【中文标题】当列数事先未知时如何访问 Pandas 数据框列【英文标题】:How to Access Pandas dataframe columns when the number of columns are unknown before hand 【发布时间】:2017-01-21 11:45:33 【问题描述】:

我完全是 python 和数据科学的新手。我正在编写一个程序来读取和分析带有熊猫的 csv。问题是 csv 将由用户提供,并且根据用户的不同,它可以具有可变数量的列。我没有列名的先验知识。 我通过使用 pandas 读取 csv 并将列名读入 python 列表来解决这个问题。但是,当我尝试通过提供索引列表作为列名来访问数据框列时,出现了问题。像这样:

#List of column names, coln
coln = df.columns
df.ix[:, df.coln[0]] # to access the first column of the dataframe.

但这不起作用。请帮助我该怎么做?请帮忙!

【问题讨论】:

Selecting pandas column by location的可能重复 【参考方案1】:

最好使用iloc:

df.iloc[:, 0]

输出与:

coln = df.columns
print (df.ix[:, coln[0]])

【讨论】:

【参考方案2】:

您可以使用iloc

df.iloc[:,0]

顺便说一句,df.coln 不存在您将coln 创建为单独的变量。

【讨论】:

【参考方案3】:

您应该使用 iloc 而不是我在下面更正的方法,如其他答案所示,而是要修复您的原始错误:

coln = df.columns
df.ix[:, coln[0]] # to access the first column of the dataframe. 

您写的是 df.coln[0] 而不是 coln[0]。 coln 是一个列表,没有 df.coln 这样的东西。

【讨论】:

以上是关于当列数事先未知时如何访问 Pandas 数据框列的主要内容,如果未能解决你的问题,请参考以下文章

解析具有未知列数的 Pandas 数据框以在 statsmodels.api 中使用

如何访问 pandas 数据框列中的字典元素并对其进行迭代以创建填充有各自值的新列?

当列数少于列数时,Chrome 列错误

为 PCA 生成加载矩阵时如何将 pandas 数据框列设置为索引

当返回的列表长度与数据框列数相同时,应用 + 列表推导会给出 ValueError

当列数据类型为列表时如何过滤熊猫数据框