合并具有不同数据类型的数据帧的两列的值

2024-04-19 03:03:37 发布

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

我有以下熊猫dataframe

import pandas as pd

df = pd.DataFrame({"pos": [1, 2, 3], "chain": ["A", "B", "C"]})

给予:

  chain  pos
0     A    1
1     B    2
2     C    3

df.types

chain    object
pos       int64
dtype: object

我正在寻找一种合并序列df["chain"]df["pos"]的方法,以获得以下内容:

   chain+pos
0     A1
1     B2
2     C3

df.dtypes

chain+pos    object
dtype: object

有什么简单的方法吗?你知道吗


Tags: 方法posimportchaindataframepandasdfobject
3条回答
df.astype(str).sum(1)
Out[489]: 
0    A1
1    B2
2    C3
dtype: object

MaxU的解决方案非常有效。否则您也可以使用以下命令

df["chain+pos"] = df['chain'] + df['pos'].map(str)

在此之后,您必须删除df['chain']和df['pos']以获得所需的结果。你知道吗

-编辑

正如@MaxU在他下面的评论中指出的,这里有一个实现预期结果的简洁方法-

df['chain+pos'] = df.pop('chain') + df.pop('pos').map(str)
In [34]: df['chain'] += df.pop('pos').astype(str)

In [35]: df
Out[35]:
  chain
0    A1
1    B2
2    C3

重命名列:

In [37]: df = df.rename(columns={'chain':'chain+pos'})

In [38]: df
Out[38]:
  chain+pos
0        A1
1        B2
2        C3

相关问题 更多 >