我想将每行转换为列表并插入新列。 例如,我从下表开始:
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
并希望得到:
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]
这是我的代码片段,我希望它能完全实现,只有它没有。
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)
答案 0 :(得分:7)
您可以使用:
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]