当列数事先未知时如何访问 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 数据框列中的字典元素并对其进行迭代以创建填充有各自值的新列?
为 PCA 生成加载矩阵时如何将 pandas 数据框列设置为索引