我正在使用pandas
模块从.csv
文件中读取数据。
我可以写出以下代码来提取属于单个列的数据,如下所示:
import pandas as pd
df = pd.read_csv('somefile.tsv', sep='\t', header=0)
some_column = df.column_name
print some_column # Gives the values of all entries in the column
但是,我现在尝试阅读的文件有超过5000列并写出语句
some_column = df.column_name
现在不可行。如何获取所有列值以便我可以使用索引访问它们?
例如,为了提取第100行和第50列的值,我应该可以这样写:
df([100][50])
答案 0 :(得分:3)
使用DataFrame.iloc
或DataFrame.iat
,但python来自0
,因此需要99
和49
来选择100.
行和{{ 1}}列:
50.
示例 - 选择df = df.iloc[99,49]
行和3.
列:
4.
Series.iloc
或Series.iat
可以按列名和行位置进行选择组合:
df = pd.DataFrame({'A':[1,2,3],
'B':[4,5,6],
'C':[7,8,9],
'D':[1,3,10],
'E':[5,3,6],
'F':[7,4,3]})
print (df)
A B C D E F
0 1 4 7 1 5 7
1 2 5 8 3 3 4
2 3 6 9 10 6 3
print (df.iloc[2,3])
10
print (df.iat[2,3])
10
答案 1 :(得分:1)
Pandas已为数据帧编制索引,因此您可以使用
df.iloc[[index]]["column header"]
索引在列表中,因为您可以通过这种方式在一个索引处传递多个索引。