【问题标题】:convert selected columns of a pandas dataframe to list将熊猫数据框的选定列转换为列表
【发布时间】:2021-12-04 05:47:22
【问题描述】:

我有一个包含几列的数据框,其中 'value1' 和 'value2':

   value1  value2    other
0      13       8    xxxxx
1      14       7    xxxxx
2      17       7    xxxxx
3      18       7    xxxxx
4      19       8    xxxxx

目前我必须手动将 my_list 值编辑为以下格式的值对。

my_list = [[13,8],[14,7],[17,7],[18,7],[19,8]]

但是我已经能够将数据放入一个名为 value1 和 value2 的两列中的 pandas 数据框中,例如在我的 pandas value1 = 13 和 value2 = 8 等的第一行中。

有没有办法我可以编写类似 tolist() 的东西来输出上述结构中的值列表?

【问题讨论】:

  • 请提供更多信息,您期望的输出是什么(示例)以及到目前为止您尝试过什么(附加代码)
  • pd.DataFrame(my_list, columns=["value1", "value2"])

标签: python pandas tolist


【解决方案1】:

简短回答

使用底层numpy数组的tolist方法:df.values.tolist()

df[['value1', 'value2']].values.tolist() 仅选择某些列

详情

您可以从列表转换为 DataFrame,反之亦然:

import pandas as pd

my_list = [[13,8],[14,7],[17,7],[18,7],[19,8]]

# list to dataframe
df = pd.DataFrame(my_list, columns=['value1', 'value2'])

# dataframe to list
my_list = df.values.tolist()

my_list:

[[13,8],[14,7],[17,7],[18,7],[19,8]]

df:

   value1  value2
0      13       8
1      14       7
2      17       7
3      18       7
4      19       8

如何仅将部分列转换为列表:

df[['value1', 'value2']].values.tolist()

【讨论】:

  • 这太棒了,my_list = df.values.tolist() 是我所追求的,我找不到那种搜索方法,但那太棒了,有没有一种方法可以只指定某些列,如果数据框有更多的列......比如按名称
  • @RobPorter .values 实际上是底层 numpy 数组,请查看我更新的子选择答案
猜你喜欢
  • 2019-10-12
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 2016-09-25
  • 2018-08-25
  • 2022-01-19
  • 2023-03-30
相关资源
最近更新 更多