从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()
这直接给你一个独特的值的数组