【问题标题】:Get a list from a pandas dataframe从熊猫数据框中获取列表
【发布时间】:2021-03-20 00:54:26
【问题描述】:

我想从这个 pandas 数据框的列中获取一个列表(全部一起):

这样我就可以有类似 --> list = (x, y, value)

list=((0,0,2986),(0,1,2992)...)

我看过一些从数据框中获取列表的示例,但我不知道如何获取诸如此类列表之类的列表。

【问题讨论】:

  • df[['x','y','Value']].apply(tuple, axis=1).to_list()?

标签: python python-3.x pandas list


【解决方案1】:
import pandas as pd

df = pd.DataFrame({
    "y": [5, 6, 7, 8],
    "x": [1, 2, 3, 4],
    "value": [10, 11, 12, 13]
})
np_values = df[["x", "y", "value"]].values
values_list = [tuple(np_values[i]) for i in range(np_values.shape[0])]
print(values_list)

打印

[(1, 5, 10), (2, 6, 11), (3, 7, 12), (4, 8, 13)]

【讨论】:

    【解决方案2】:
    import pandas as pd
    df = pd.DataFrame([[(1,1),2],[(1,1),2],[(1,1),2]],columns=['a','b'])
    
    
    records = list(df.itertuples(index=False, name=None)) # get all records you can only consider required columns here
    final_list = [row[0]+(row[1],) for row in records] # add all 3 elements into one tuple
    print(final_list)
    

    输出:

    [(1, 1, 2), (1, 1, 2), (1, 1, 2)]
    

    【讨论】:

      猜你喜欢
      • 2022-01-11
      • 2014-04-15
      • 1970-01-01
      • 2017-06-16
      • 2019-12-02
      • 1970-01-01
      • 2013-07-21
      相关资源
      最近更新 更多