PYTHON(PANDAS)在这两行的最后一行连接这两行的内容

2admgd59  于 2023-02-02  发布在  Python
关注(0)|答案(3)|浏览(144)

我正在努力将两行的内容连接到这两行的最后一行。
这里我的情况:
| A类|B|C级|D级|
| - ------|- ------|- ------|- ------|
| 钠氮|钠氮|罗西|布兰比拉|
| 费德里科|乔瓦尼|乔治|马尔切洛|
我想要一些
| A类|B|C级|D级|
| - ------|- ------|- ------|- ------|
| 钠氮|钠氮|罗西|布兰比拉|
| 费德里科|乔瓦尼|罗西·乔治|布兰比拉·马尔切洛|
你能帮我得出这个结果吗?
先谢了!
我尝试了以下方法:

df.iloc[1] = df_bo.iloc[0] + " " + df_bo.iloc[1]

但它给了我以下信息
IndexError:单个位置索引器超出界限
我也试着转置DF,但它似乎有点复杂。

mwkjh3gx

mwkjh3gx1#

您可以使用stack去掉NaN,然后使用groupby.agg连接名称:

df.iloc[1] = df.stack().groupby(level=1).agg(' '.join)

如果要限制输入行:

df.iloc[1] = df.iloc[:2].stack().groupby(level=1).agg(' '.join)

输出:

A         B              C                   D
0       NaN       NaN          Rossi           Brambilla
1  Federico  Giovanni  Rossi Giorgio  Brambilla Marcello
zwghvu4y

zwghvu4y2#

如果原始 Dataframe 是df,这应该可以。:)

df2 = pd.concat([df.iloc[:1, :], pd.DataFrame(df.T[0] + ' ' + df.T[1]).T])
slsn1g29

slsn1g293#

df1.loc[1,["C","D"]]=df1.loc[:,["C","D"]].agg(" ".join).tolist()
df1

出局

A         B                    C                             D
0       NaN       NaN                Rossi                     Brambilla
1  Federico  Giovanni  Rossi Rossi Giorgio  Brambilla Brambilla Marcello

相关问题