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

cha*_*dru 3 python list data-analysis dataframe pandas

我有一个 df,

Name  Class
Sri   A
Ram   B
Run Code Online (Sandbox Code Playgroud)

我的预期输出是

 [["Name","Sri","Ram"],["Class","A","B"]]
Run Code Online (Sandbox Code Playgroud)

我试过df.values.tolist()但给出了行明智的列表,我需要按列进行。提前致谢

jez*_*ael 7

使用transpose

print (df.values.T.tolist())
[['Sri', 'Ram'], ['A', 'B']]
Run Code Online (Sandbox Code Playgroud)

如果需要也列名第一转由Treset_index

print (df.T.reset_index().values.tolist())
[['Name', 'Sri', 'Ram'], ['Class', 'A', 'B']]
Run Code Online (Sandbox Code Playgroud)

编辑:对于 remove NaNs 使用列表理解:

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']]
Run Code Online (Sandbox Code Playgroud)