gpt4 book ai didi

python - 如何将 NaN 保留在数据透视表中?

转载 作者:行者123 更新时间:2023-12-04 01:42:23 25 4
gpt4 key购买 nike

在更改数据框的形状时希望保留 NaN 值。

这两个问题可能是相关的:

  • How to preserve NaN instead of filling with zeros in pivot table?
  • How to make two NaN as NaN after the operation instead of making it zero?

  • 但无法使用提供的答案 - 我可以以某种方式为 np.sum 设置最小计数吗?

    import pandas as pd
    import numpy as np
    df = pd.DataFrame([['Y1', np.nan], ['Y2', np.nan], ['Y1', 6], ['Y2',8]], columns=['A', 'B'], index=['1988-01-01','1988-01-01', '1988-01-04', '1988-01-04'])
    df.index.name = 'Date'
    df

    pivot_df = pd.pivot_table(df, values='B', index=['Date'], columns=['A'],aggfunc=np.sum)
    pivot_df


    输出是:
    A   Y1  Y2
    Date
    1988-01-01 0.0 0.0
    1988-01-04 6.0 8.0

    所需的输出是:
    A   Y1  Y2
    Date
    1988-01-01 NaN NaN
    1988-01-04 6.0 8.0

    最佳答案

    根据有用的评论,以下解决方案符合我的要求:


    pivot_df_2 = pd.pivot_table(df, values='B', index=['Date'], columns=['A'],aggfunc=min, dropna=False)
    pivot_df_2


    每个插槽的值应该是唯一的,因此用 min 函数替换 sum 函数应该没有区别(在我的情况下)

    关于python - 如何将 NaN 保留在数据透视表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56890105/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com