【问题标题】:How to populate arrays with values read in from csv via pandas?如何使用通过熊猫从 csv 读取的值填充数组?
【发布时间】:2018-08-10 03:40:10
【问题描述】:

我通过读取 csv 文件使用pandas 创建了一个DataFrame。我想要做的是将行(对于第 1 列中的值)向下迭代到某个数组中,并对不同数组的第 2 列中的值执行相同的操作。这似乎通常是一件相当容易的事情,所以我想我错过了一些东西,但是我在网上找不到太多不太复杂并且似乎没有做我想做的事。像this one 这样的堆栈问题似乎 提出了同样的问题,但答案又长又复杂。有没有办法在几行代码中做到这一点?这是我设置的:

import pandas as pd 

#available possible players
playerNames = []

df = pd.read_csv('Fantasy Week 1.csv')

我预计我应该能够做的事情是这样的:

for row in df.columns[1]:
    playerNames.append(row)

但是,这不会返回所需的结果。

基本上,如果 df =
[1,2,3
4,5,6
7,8,9],我希望我的数组是 [1,4,7]

【问题讨论】:

    标签: python pandas csv dataframe


    【解决方案1】:

    做:

    for row in df[df.columns[1]]:
        playerNames.append(row)
    

    甚至更好:

    print(df[df.columns[1]].tolist())
    

    在这种情况下,您需要第一列的值:

    for row in df[df.columns[0]]:
        playerNames.append(row)
    

    甚至更好:

    print(df[df.columns[0]].tolist())
    

    【讨论】:

    • 感谢您的及时回复。我知道这可以满足我的要求,但是您能否详细介绍一下 df[df.columns[1]] 中到底发生了什么?
    • @AlekPiasecki df.columns 返回一个数据框的列,df.columns[1] 返回第二个列名,那么我们要获取该列的数据就这样做:df[df.columns[1]]
    • @AlekPiasecki 编辑了我的答案
    • 我可以一次抓取多个列吗?我想将当前行第 1 列的值分配给字典的键,将当前行第 2 列的值分配给该字典的值?
    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 2015-05-30
    • 2021-03-18
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多