Chr*_*ian 1 python list dataframe pandas
我想将每一行转换为一个列并插入一个新列.例如,我从下表开始:
0 1 2 3 4
0 0 8 3 2 5
1 1 1 2 2 4
2 0 8 9 6 4
3 2 7 6 1 9
4 8 9 1 5 6
Run Code Online (Sandbox Code Playgroud)
并希望得到:
0 1 2 3 4 test
0 0 8 3 2 5 [0, 8, 3, 2, 5]
1 1 1 2 2 4 [1, 1, 2, 2, 4]
2 0 8 9 6 4 [0, 8, 9, 6, 4]
3 2 7 6 1 9 [2, 7, 6, 1, 9]
4 8 9 1 5 6 [8, 9, 1, 5, 6]
Run Code Online (Sandbox Code Playgroud)
这是我的代码片段,我希望它能完全实现,但事实并非如此.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 5)))
df['list'] = df.apply(lambda x: x.tolist(), axis=1)
print(df)
Run Code Online (Sandbox Code Playgroud)
您可以使用:
In [127]: df['test'] = df.values.tolist()
In [128]: df
Out[128]:
0 1 2 3 4 test
0 0 8 3 2 5 [0, 8, 3, 2, 5]
1 1 1 2 2 4 [1, 1, 2, 2, 4]
2 0 8 9 6 4 [0, 8, 9, 6, 4]
3 2 7 6 1 9 [2, 7, 6, 1, 9]
4 8 9 1 5 6 [8, 9, 1, 5, 6]
Run Code Online (Sandbox Code Playgroud)