我有一个df,
Name Class
Sri A
Ram B
我的预期输出是
[["Name","Sri","Ram"],["Class","A","B"]]
我尝试了df.values.tolist()
但是提供了行明智的列表,我需要按列方式。提前致谢
答案 0 :(得分:1)
使用transpose
:
print (df.values.T.tolist())
[['Sri', 'Ram'], ['A', 'B']]
如果需要列号名称首先按T
reset_index
进行转置:
print (df.T.reset_index().values.tolist())
[['Name', 'Sri', 'Ram'], ['Class', 'A', 'B']]
编辑:删除NaN
使用列表理解:
print (df)
Name Class
0 Sri A
1 Ram NaN
L = df.values.T.tolist()
print (L)
[['Sri', 'Ram'], ['A', nan]]
L1 = [[i for i in x if pd.notnull(i)] for x in L]
print (L1)
[['Sri', 'Ram'], ['A']]