如何将我的数据帧转换为二维列表,将所有列作为列表

时间:2017-12-11 07:39:59

标签: python list pandas dataframe data-analysis

我有一个df,

Name  Class
Sri   A
Ram   B

我的预期输出是

 [["Name","Sri","Ram"],["Class","A","B"]]

我尝试了df.values.tolist()但是提供了行明智的列表,我需要按列方式。提前致谢

1 个答案:

答案 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']]