我认为您需要将值转换为
numpy array
,转置并转换为
list
:
df = pd.DataFrame({
'A': ['a','e','g'],
'B': list(range(3))
})
print (df)
A B
0 a 0
1 e 1
2 g 2
L = df.values.T.tolist()
print (L)
[['a', 'e', 'g'], [0, 1, 2]]
如果需要循环缓慢的解决方案转换
Series
到
列表
:
values = []
for i in range(len(columns)):
val = df[columns[i]];
values.append(val.tolist())
如果只有一行
DataFrame
或者需要在
df
使用
iloc
按位置选择
系列
然后转换为
列表
:
df = pd.DataFrame({
'A': [0],
'B': [3],
'C' :[1]
})
print (df)
A B C
0 0 3 1
L = df.values.T.tolist()
print (L)
[[0], [3], [1]]
#select first row
L1 = df.iloc[0].tolist()
print (L1)
[0, 3, 1]
df = pd.DataFrame({
'A': ['a','e','g'],
'B': list(range(3))
},index=list('def'))
print (df)
A B
d a 0
e e 1
f g 2
#select by index name
L1 = df.loc['f'].tolist()
print (L1)
['g', 2]
#select by position of row
L1 = df.iloc[2].tolist()
print (L1)
['g', 2]