如何在python中使用pandas读取csv文件的所有行?

时间:2016-11-25 09:20:34

标签: python csv pandas

我正在使用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])

2 个答案:

答案 0 :(得分:3)

使用DataFrame.ilocDataFrame.iat,但python来自0,因此需要9949来选择100.行和{{ 1}}列:

50.

示例 - 选择df = df.iloc[99,49] 行和3.列:

4.

Series.ilocSeries.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"]

索引在列表中,因为您可以通过这种方式在一个索引处传递多个索引。