python pandas 将两行或多行文本合并为一行

标签 python pandas merge concatenation

我有包含如下文本数据的数据框,

    name | address                  | number 
1   Bob    bob                        No.56
2          @gmail.com           
3   Carly  carly@world.com            No.90
4   Gorge  greg@yahoo     
5          .com                   
6                                     No.100

并想把它做成这个框架。

    name | address               | number 
1   Bob    bob@gmail.com           No.56
2   Carly  carly@world.com         No.90                 
3   Gorge  greg@yahoo.com          No.100

我正在使用 pandas 读取文件,但不知道如何使用合并或连接。

最佳答案

如果 name 列包含唯一值,

print df

    name          address  number
0    Bob              bob   No.56
1    NaN       @gmail.com     NaN
2  Carly  carly@world.com   No.90
3  Gorge       greg@yahoo     NaN
4    NaN             .com     NaN
5    NaN              NaN  No.100

df['name'] = df['name'].ffill()
print df.fillna('').groupby(['name'], as_index=False).sum()

    name          address  number
0    Bob    bob@gmail.com   No.56
1  Carly  carly@world.com   No.90
2  Gorge   greg@yahoo.com  No.100

您可能需要ffill()bfill()[::-1].groupby('name ').apply(lambda x: ' '.join(x['address'])), strip(), lstrip(), rstrip()replace()之类的东西将上面的代码扩展到更复杂的数据。

关于python pandas 将两行或多行文本合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42240022/

相关文章:

python - 无法在 Pandas 中创建折线图

python - 2 个数据框,相同的列数,不同的行数比较和替换值

git - 将远程 github 存储库中的更改 merge 到本地存储库

python - 使用霍夫圆变换检测圆阵列

python - 在 matplotlib 中获取 colorbar 的刻度值

python - 如何将嵌套字典列表转换为 Pandas 数据框?

Python pandas 转换对象列中的单个值

php - 合并两个多维数组并重新索引所有子数组

r - 如何合并具有相同列名的数据框

python - 使用 Python 从 XML 中提取值