如何从 pandas数据栏获取列表

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (30)

我有一个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循环,并为每个集群创建一个Excel工作表。

还可能将整行的内容返回到列表中吗?

list = [], list[column1] or list[df.ix(row1)]
提问于
用户回答回答于

当你将pandas数据帧列提取出来时,它们是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)

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

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

用户回答回答于

这将返回一个numpy数组:

my_list = df["cluster"].values

这将返回一个numpy数组唯一值:

my_list = df["cluster"].values
uniqueVals = np.unique(my_list)

或者另一种选择:

uniqueVals = df["cluster"].unique()

扫码关注云+社区