python - 如何迭代不同数据帧中的行并将其用作其他数据帧中的值?

标签 python pandas loops dataframe

我正在尝试通过其唯一值迭代“df_sum”数据框的“契约(Contract)”列。 然后为每个“合约”值创建数据框以进行进一步计算。

以下是单个唯一值的情况。我需要迭代数千个唯一值。

这是 df_sum 的整体外观。 /image/KqNOo.jpg

import pandas as pd
from pandas import read_csv


df_sum = read_csv(r'path_to_sum.csv', sep=",", low_memory=False, index_col=False) #summary file

df_EH = df[df['contract']=='EH60906']                 # choose specific contract
df_EH = df_EH.sort_values(by=['datetime'])            # sort specific contract data by datetime and assign as df_EH

... data analysis should follow such as summing up power_pos for each contract number etc.

我的尝试如下:

import pandas as pd
from pandas import read_csv
import numpy as np
from datetime import datetime


df_sum = read_csv(r'path_to_sum.csv', sep=",", low_memory=False, index_col=False) #summary file

graph_df = pd.DataFrame()

for contract in df_sum['contract'].unique():
    print(contract)
    contract_df = df[df['contract'] == contract]    
    contract_df.set_index('datetime', inplace=True)
    contract_df.sort_index(inplace = True)
    contract_df."data analysis"

Expected result:
ABABAB.power_pos.sum = 123123
CDCDCD.power_pos.sum = 213124
etc      

最佳答案

这个怎么样?

df_sum = pd.read_csv(r'path_to_sum.csv', sep=",", low_memory=False, index_col=False)
grouped = df_sum.groupby("contract")["power_pos"].sum()
print(grouped)

关于python - 如何迭代不同数据帧中的行并将其用作其他数据帧中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58591348/

相关文章:

python - 根据其他表填写表中缺失的数据

python - 如何读取和处理文件的一部分并将其余部分写入另一个文件?

sql - SQL Server中for循环的语法

python - 使用 pulp 在 Python 中实现多线程

python - Numpy 数组值 "contamination"

python - 如果存在 ID 号,则移除对象

python - 无法在本地运行时的 Colab 中挂载 Google Drive

python-2.7 - 如何在 python seaborn 热图旁边有一个栏来显示行值的总和?

Java - 获取缓冲图像上圆圈内的所有像素

c - 有没有其他方法来处理这个永远运行的代码?