首页 > 解决方案 > 遍历 padas 数据框中的列

问题描述

我有一个 CSV 文件,我试图通过将“a”列的每个值与“b”列的每个值相乘来计算该值。我已经写下了一段代码,但现在它一次只能乘以一个特定的值。例如,目前,我的代码通过迭代分子中“a”列的值然后将其除以“b”列的第一个值与所有值的乘积来打印列“a”的第一个值的乘积“b”列的值,我必须对“a”列的其他值再次重复该过程。我是 python 的新手,谁能建议我如何以正确的方式实现我的代码以一次迭代它们?首先它采用列“a”的第一个值 然后用“b”列的所有值计算解,然后取“a”列的第二个值,然后重复该过程,直到它达到“a”列的最后一个值。数据如下所示:

在此处输入图像描述

import csv
import pandas as pd
data = pd.read_csv("/home/Documents/test.csv")

for num in data.columns[0]:
    for den in data.columns[1]:
        x = (((data.at[0,'a'])*data[num]))/((data.at[0,'b'])*data[den])
print(x)

输出如下所示:

在此处输入图像描述

标签: pythonpandasloopscsv

解决方案


您也可以尝试列索引。这是解决方案。

result = df['a']/df['b']

这将对所有列值进行操作。

然后你可以打印结果

print(result)

输出:

在此处输入图像描述


推荐阅读