将列值转换为标题

2024-06-06 20:40:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下格式的熊猫数据帧

|Header|Text   |
|------|-------|
|  AB  |yale   |
|  BC  |grass  |
|  BC  |window |
|  AB  |school |
|  BC  |student|

我的期望是将该数据帧转换为以下格式

|  AB  | BC    |
|------|-------|
| yale | grass |
| yale | window|
|school|student|

直到现在,我似乎还没有找到一种方法来获得预期的格式。我需要帮助


Tags: 数据方法textab格式windowstudentheader
1条回答
网友
1楼 · 发布于 2024-06-06 20:40:09

使用^{}作为第一列的新列,并将Header列中的AB^{}进行比较,将Text中不匹配的值替换为Text中的AB列中的AB列中的AB值,并通过^{}中的不相等值进行比较,然后仅过滤^{a5中指定的列:

df.insert(0, 'AB',  df['Text'].where(df['Header'].eq('AB')).ffill())
df = df.loc[df['Text'].ne(df['AB']), ['AB','Text']].rename(columns={'Text':'BC'})

print (df)
       AB       BC
1    yale    grass
2    yale   window
4  school  student

相关问题 更多 >