我的数据框如下:
V
Out[58]:
P1 P2 P3
V1 a b c
V2 f g h
V3 k l m
我想将它们全部存储在列表L中,以便:
L=[a,b,c,f,g,h,k,l,m]
从1行迭代到另一行。知道如何去做吗?感谢
答案 0 :(得分:3)
使用.values
访问ndarray.tolist
属性,重新整形并转换为列表:
df.values.reshape(-1,).tolist()
['a', 'b', 'c', 'f', 'g', 'h', 'k', 'l', 'm']
另一个是stack
后跟直接tolist
电话:
df.stack().tolist()
['a', 'b', 'c', 'f', 'g', 'h', 'k', 'l', 'm']
答案 1 :(得分:2)
使用pandas.read_csv
和tolist
sum
答案 2 :(得分:1)
from itertools import chain
import pandas as pd
df = pd.DataFrame([['a', 'b', 'c'],
['f', 'g', 'h'],
['k', 'l', 'm']],
columns=['P1', 'P2', 'P3'],
index=['V1', 'V2', 'V3'])
res = list(chain.from_iterable(df.values))
# ['a', 'b', 'c', 'f', 'g', 'h', 'k', 'l', 'm']