将列中的值汇总到定义的值
Summing up values in columns up to a defined value
我有一个数据框,其中的列如下所示:
Date = [01/01/2021, 02/02/2021, .... ,12/31/2021]
T_mean = [1.2, 2.7, 3.5, 2.9, 4.4, .....]
我想在数据框中添加一列,对 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.insert(3, "Sum_Tmean", Sum_Tmean, allow_duplicates=False).
我想将其应用到几十年,那里的温度限制是 200 °C,所以这会在一年中的某个时候发生,而不是像示例中那样在一年的前几天发生。
感谢任何提示并提前致谢。
我建议使用 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
输出:
我有一个数据框,其中的列如下所示:
Date = [01/01/2021, 02/02/2021, .... ,12/31/2021]
T_mean = [1.2, 2.7, 3.5, 2.9, 4.4, .....]
我想在数据框中添加一列,对 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.insert(3, "Sum_Tmean", Sum_Tmean, allow_duplicates=False).
我想将其应用到几十年,那里的温度限制是 200 °C,所以这会在一年中的某个时候发生,而不是像示例中那样在一年的前几天发生。
感谢任何提示并提前致谢。
我建议使用 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
输出: