Python 将列中的某些值转换为新列

Python 将列中的某些值转换为新列,python,pandas,Python,Pandas,知道如何将左边的表格转换成右边的表格吗 只要有条理就行了。在输入中挑选出您想要在输出中使用的部分 import datetime as dt # build as per pic of input df = pd.DataFrame({"rank":["ALLIED HEALTH - MED LAB","SO(M) - PATH"] +[d.strftime("%b-%Y") for

知道如何将左边的表格转换成右边的表格吗


只要有条理就行了。在输入中挑选出您想要在输出中使用的部分

import datetime as dt

# build as per pic of input
df = pd.DataFrame({"rank":["ALLIED HEALTH - MED LAB","SO(M) - PATH"] 
              +[d.strftime("%b-%Y") for d in pd.date_range(dt.date(2019,4,1), dt.date(2020,4,1), freq="1M")]})
df = df.assign(hospital="AHNH",fte=np.nan)

### CREATE OUTPUT ###
df.assign(discipline=df.iloc[0,0], month=df["rank"], rank=df.iloc[0,1]).iloc[2:]

您有没有尝试过任何可以展示的东西?非常感谢您的及时帮助。很抱歉,我只捕获了部分输入,实际上在同一规程下有几个等级。有没有一种系统化的方法可以像for循环那样转换数据帧?在问题中提供一个包含多个列的数据示例,因为文本通常for循环是一种反模式