gpt4 book ai didi

python - 需要将数据框的列值转换为单独的列,并使用 panda 填充每个单元格的计数值

转载 作者:行者123 更新时间:2023-11-30 09:28:02 24 4
gpt4 key购买 nike

我有一个数据框

data_frame = pd.DataFrame({'id':[1,2,3,4,5,6],'name':["A","B","C","A","B","A"], 'date':["15/03/2019","16/03/2019","15/03/2019","16/03/2019","16/03/2019","16/03/2019"], "conducted":[1,1,1,1,1,1],"present":[1,1,1,1,1,0]})`
<小时/>

结果

DataSet

<小时/>

我需要将数据帧转换为

ResultDataSet

<小时/>

到目前为止我已经尝试过了,

  1. 查找日期和名称的唯一值
date_unique_list = data_frame.date.unique()
name_unique_list = data_frame.name.unique()

结果:

array(['15/03/2019', '16/03/2019'], dtype=object)
array(['A', 'B', 'C'], dtype=object)
  • 创建包含日期列和名称行标题的数据框。
  • data_frame_dummies = pd.get_dummies(date_unique_list,prefix="",prefix_sep="")
    data_frame_dummies = pd.DataFrame(data_frame_dummies, columns = date_unique_list, index=name_unique_list)

    结果:

        15/03/2019  16/03/2019
    A NaN NaN
    B NaN NaN
    C NaN NaN
  • 更新每个学生日期的出席人数。
  • -> 我似乎没有找到解决办法。

    最佳答案

    我猜表中的值是conductedsum()

    您可以使用pandas pivot_table(),并用零填充缺失值fillna(0.0),例如:

    import numpy as np
    table = pd.pivot_table(data_frame, values=['conducted'], index=['name'], columns=['date'], aggfunc=np.sum).fillna(0.0)

    编辑

    计算当前值:

    table = pd.pivot_table(data_frame, values=['present'], index=['name'], columns=['date'], aggfunc='count').fillna(0.0)

    enter image description here

    关于python - 需要将数据框的列值转换为单独的列,并使用 panda 填充每个单元格的计数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56882796/

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