从pandas数据框列获取列表

我有一个这样的excel文件

cluster load_date budget actual fixed_price A 1/1/2014 1000 4000 Y A 2/1/2014 12000 10000 Y A 3/1/2014 36000 2000 Y B 4/1/2014 15000 10000 N B 4/1/2014 12000 11500 N B 4/1/2014 90000 11000 N C 7/1/2014 22000 18000 N C 8/1/2014 30000 28960 N C 9/1/2014 53000 51200 N 

我想能够返回列1的内容 – 集群作为列表,所以我可以运行for循环,并为每个集群创build一个Excel工作表。

是否也可以将整行的内容返回给列表? 例如

 list = [], list[column1] or list[df.ix(row1)] 

pandasDataFrame列是Pandas系列,当你把它们拉出来,然后你可以调用.tolist()把它们变成一个Python列表

 from pandas import * d = {'one' : Series([1., 2., 3.], index=['a', 'b', 'c']), 'two' : Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd'])} df = DataFrame(d) #print df print "DF", type(df['one']), "\n", df['one'] dfList = df['one'].tolist() print "DF list", dfList, type(dfList) 

这个问题可能会有所帮助。 而pandas的文档实际上是相当不错的,一旦你的头脑围绕他们的风格。

所以在你的情况下,你可以:

my_list = df["cluster"].tolist()

然后从那里出发

 my_list = df["cluster"].values 

它返回一个numpy数组

为该列表中的唯一值

 uniqueVals = np.unique(my_list) 

要么

 uniqueVals = df["cluster].unique() 

这直接给你一个独特的值的数组