我有一个dataframe df从一个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 df['cluster']的内容作为列表,这样我就可以在上面运行for循环,并为每个集群创建一个Excel工作表。
是否也可以将整个列或行的内容返回到列表中?如。
list = [], list[column1] or list[df.ix(row1)]
假设读取excel表格后的dataframe的名称是df,取一个空列表(例如dataList),逐行迭代dataframe,并像-一样添加到空列表中
dataList = [] #empty list
for index, row in df.iterrows():
mylist = [row.cluster, row.load_date, row.budget, row.actual, row.fixed_price]
dataList.append(mylist)
Or,
dataList = [] #empty list
for row in df.itertuples():
mylist = [row.cluster, row.load_date, row.budget, row.actual, row.fixed_price]
dataList.append(mylist)
不,如果你打印dataList,你会得到每一行作为一个列表在dataList。
转换示例:
>熊猫数据帧->列表从一个熊猫列
Numpy数组
data = np.array([[10,20,30], [20,30,60], [30,60,90]])
将numpy数组转换为Panda数据帧
dataPd = pd.DataFrame(data = data)
print(dataPd)
0 1 2
0 10 20 30
1 20 30 60
2 30 60 90
将一个Panda列转换为列表
pdToList = list(dataPd['2'])