如何为两个数据帧列的每行值创建列表

2024-04-27 04:06:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两列,我想为每一行创建一个列表。因此,每个列表将包含两个值:该特定行的每列的值。 例如:

A B
1 2
3 4
5 6

我想为每一行的值列出一个列表,即[1,2], [3,4], [5,6]

你能帮我拿这个吗?你知道吗


Tags: 列表
2条回答

如果要将其保存在数据帧中,可以使用此选项:

df['new'] = df.values.tolist()

>>> df
   A  B     new
0  1  2  [1, 2]
1  3  4  [3, 4]
2  5  6  [5, 6]

否则,如果您只需要列表,只需使用:

df.values.tolist()

[[1, 2], [3, 4], [5, 6]]

或者甚至只是df.values(尽管结果将是numpy数组,而不是列表列表):

>>> df.values
array([[1, 2],
       [3, 4],
       [5, 6]])

如果您有以下数据帧:

print(df)
#   A  B
#0  1  2
#1  3  4
#2  5  6

将行作为列表获取的一种方法是使用to_records()

print([list(x) for x in df.to_records(index=False)])
#[[1, 2], [3, 4], [5, 6]]

或者如果你想包括索引:

print([list(x) for x in df.to_records(index=True)])
#[[0, 1, 2], [1, 3, 4], [2, 5, 6]]

相关问题 更多 >