我有一个看起来像这样的数据框:
df =
|Name Nationality Family etc.....
0|John Born in Spain. Wife
1|nan But live in England son
2|nan nan daughter
有些列只有一行,而另一些列在几行上有多个答案,我如何将这些行彼此合并,以便看起来像下面这样:
df =
|Name Nationality Family etc....
0|John Born in Spain. But live in England Wife Son Daughter
答案 0 :(得分:1)
也许这将为您做到:
import pandas as pd
# your dataframe
df = pd.DataFrame(
{'Name': ['John', np.nan, np.nan],
'Nationality': ['Born in Spain.', 'But live in England', np.nan],
'Family': ['Wife', 'son', 'daughter']})
def squeeze_df(df):
new_df = {}
for col in df.columns:
new_df[col] = [df[col].str.cat(sep=' ')]
return pd.DataFrame(new_df)
squeeze_df(df)
# >> out:
# Name Nationality Family
# 0 John Born in Spain. But live in England Wife son daughter
我假设您只需要一个人做一次(即将数据框的行压缩/合并为一行)。另外,“ etc ....”是什么意思?例如,您在数据框中会有整数或浮点值吗?