我有一个如下所示的表格:
我想将数据旋转为如下所示:
实际上,这会将单独注明日期的列转换为名为“状态”的列和包含单独日期的行。
我从这个基本代码开始,但我在创建新列并将值分配给各自列的语法中遇到了混淆。
import pandas as pd
import numpy as np
df = pd.read_csv(r'C:\Users\User\sample.csv')
df.pivot_table(columns=['Effective Date','First Name','Last Name','Date of Birth','Status','Start Date','End Date'],values=['1/1/2022','2/1/2022','3/1/2022','4/1/2022'], aggfunc=np.max)
df.head
最佳答案
尝试融化
:
df.melt(['ID', 'First Name', 'Last Name', 'Date of Birth', 'Start Date', 'End Date'],
var_name='Effective Date', value_name='Status')
输出:
ID First Name Last Name Date of Birth Start Date End Date Effective Date Status
0 MO12 Wanda Sample 1/1/2020 1/1/2022 1/31/2022 1/1/2022 Good
1 MO12 Wanda Sample 1/1/2020 1/1/2022 1/31/2022 2/1/2022 Good
2 MO12 Wanda Sample 1/1/2020 1/1/2022 1/31/2022 3/1/2022 Good
3 MO12 Wanda Sample 1/1/2020 1/1/2022 1/31/2022 4/1/2022 Good
关于python - 在 pandas 中透视数据框,同时为值创建额外的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76672462/