如何使用python从csv文件中检索一列?

时间:2015-11-28 18:23:00

标签: python csv

我试图从其中一个csv文件中检索年龄列,这是我到目前为止编码的内容。

df = pd.DataFrame.from_csv('train.csv')
result = df[(df.Sex=='female') & (df.Pclass==3)]

print(result.Age)
# finding the average age of all people who survived


print len(result)
sum = len(result)

我打印出了年龄,因为我想查看所有年龄段的列表,这些年龄段属于具有“女性”价值的性别群,而类别列的值为“3”

打印结果由于某种原因显示了colunm数字和它旁边的年龄,我只想打印所有年龄的列表。

PassengerId
3      26.0
9      27.0
11      4.0
15     14.0
19     31.0
20      NaN
23     15.0
25      8.0
26     38.0
29      NaN
33      NaN
39     18.0
40     14.0
41     40.0
45     19.0
48      NaN
50     18.0
69     17.0
72     16.0
80     30.0
83      NaN
86     33.0
101    28.0
107    21.0
110     NaN
112    14.5
114    20.0
115    17.0
120     2.0
129     NaN
       ... 
658    32.0
678    18.0
679    43.0
681     NaN
692     4.0
698     NaN
703    18.0
728     NaN
730    25.0
737    48.0
768    30.5
778     5.0
781    13.0
787    18.0
793     NaN
798    31.0
800    30.0
808    18.0
814     6.0
817    23.0
824    27.0
831    15.0
853     9.0
856    18.0
859    24.0
864     NaN
876    15.0
883    22.0
886    39.0
889     NaN
Name: Age, dtype: float64

这是我的程序打印的内容,我只想要右栏中的年龄列表而不是左侧的passengerID列。

谢谢

1 个答案:

答案 0 :(得分:0)

result.Age是一个pandas Series对象,所以当你print它时,也会显示列标题,索引和数据类型。这是一个的东西,因为它使对象的打印表示更有用。

如果要完全控制 数据的显示方式,则需要进行一些字符串格式化。这样的事情应该是你要求的:

print('\n'.join(str(x) for x in result.Age))

如果由于某种原因想要访问该列的原始数据(通常也可以使用Series),没有索引或标题,则可以使用

获取numpy数组
result.Age.values