在 pandas 数据框中合并两列文本
问题描述
I have a 20 x 4000 dataframe in Python using pandas. Two of these columns are named Year
and quarter
. I'd like to create a variable called period
that makes Year = 2000
and quarter= q2
into 2000q2
.
Can anyone help with that?
解决方案If both columns are strings, you can concatenate them directly:
df["period"] = df["Year"] + df["quarter"]
If one (or both) of the columns are not string typed, you should convert it (them) first,
df["period"] = df["Year"].astype(str) + df["quarter"]
Beware of NaNs when doing this!
If you need to join multiple string columns, you can use agg
:
df['period'] = df[['Year', 'quarter', ...]].agg('-'.join, axis=1)
Where "-" is the separator.
相关文章