将列中的值相加为定义的值

2024-09-22 16:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,其中的列如下所示:

Date = [01/01/2021, 02/02/2021, .... ,12/31/2021]

T_mean = [1.2, 2.7, 3.5, 2.9, 4.4, .....]

我想在dataframe中添加一列,将T_mean值相加如下:

Sum_Tmean = [1.2, 3.9, 7.4, 10.3, 14.7 ....]. 

一旦达到或超过值10,我希望有发生这种情况的Date输出。如果可能,我还希望整行以粗体突出显示

我用以下代码形成了T_mean的最终和:

Sum_Tmean = dataframe['T_mean'].sum()

但是,我不知道如何添加各个值

我使用以下代码将新列添加到dataframe:

dataframe.insert(3, "Sum_Tmean", Sum_Tmean, allow_duplicates=False).

我想把这个应用到几十年,那里的温度极限是200℃,所以这发生在一年中的某个时候,而不是在一年的前几天,如示例所示

我感谢你给我的建议,并提前表示感谢


Tags: 数据代码false示例dataframedate情况温度
1条回答
网友
1楼 · 发布于 2024-09-22 16:27:27

我建议使用来自numpy的累积和函数cumsum,如下所示:

import numpy as np
import pandas as pd

def highlight_bold(s):
    is_mos = df['Sum_Tmean'] > 10.0
    return ['font-weight: bold' if v else 'font-weight:' for v in is_mos]

Date = ['01/01/2021', '02/02/2021' ,'12/31/2021', '01/01/2021', '02/02/2021' ,'12/31/2021']

T_mean = [1.2, 2.7, 3.5, 2.9, 4.4, 5.2]

Sum_Tmean = list(np.cumsum(T_mean))

d = {'Date':Date, 'T_mean':T_mean,'Sum_Tmean':Sum_Tmean}

df = pd.DataFrame(d)

styler = df.style.apply(highlight_bold)

styler

输出:

enter image description here

相关问题 更多 >