python - 合并数据框中的行

标签 python pandas dataframe

我必须处理的 csv 文件的一部分('data.csv'),如下所示:

parent_id,parent_name,Type,Companyname,Custsupid,Streetaddress
3,Customer,,,C0010,
3,Customer,A,,,
3,Customer,,ACE SYSTEMS,,
3,Customer,,,,Straat 10
7,Customer,,,Q8484,
7,Customer,B,,,
7,Customer,,XYZ AUTOMAT,,
7,Customer,,,,Laan 99

要将此文件导入到数据框中,我这样做:

df = pd.read_csv('data.csv').fillna('')

这会导致:

------------------------------------------------------------------
| |parent_id|parent_name|Type|Companyname|Custsupid|Streetaddress|
------------------------------------------------------------------
|0|3        |Customer   |    |           |C0010    |             |
|1|3        |Customer   |A   |           |         |             |
|2|3        |Customer   |    |ACE SYSTEMS|         |             |
|3|3        |Customer   |    |           |         |Straat 10    |
|4|7        |Customer   |    |           |Q8484    |             |
|5|7        |Customer   |B   |           |         |             |
|6|7        |Customer   |    |XYZ AUTOMAT|         |             |
|7|7        |Customer   |    |           |         |Laan 99      |
------------------------------------------------------------------

但是,我想要最终得到的是一个如下所示的数据框:

------------------------------------------------------------------
| |parent_id|parent_name|Type|Companyname|Custsupid|Streetaddress|
------------------------------------------------------------------
|0|3        |Customer   |A   |ACE SYSTEMS|C0010    |Straat 10    |
|1|7        |Customer   |B   |XYZ AUTOMAT|Q8484    |Laan 99      |
------------------------------------------------------------------

我已经尝试过 df.groupby 等,但无法产生所需的结果。

有没有办法用 pandas 数据框来完成这个任务?

最佳答案

In [37]: df.groupby(['parent_id', 'parent_name']).sum()
Out[37]: 
                      Type  Companyname Custsupid Streetaddress
parent_id parent_name                                          
3         Customer       A  ACE SYSTEMS     C0010     Straat 10
7         Customer       B  XYZ AUTOMAT     Q8484       Laan 99

sum 是将字符串相加,因此这依赖于将空字符串添加到非空字符串会返回非空字符串。

关于python - 合并数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37499819/

相关文章:

python - 如何在运行django开发服务器时隐藏控制台?

python - 更改使用 seaborn.factorplot 创建的条形图中条形的宽度

python - 如何使用 pandas 为单元格内具有字典的数据框创建交叉表

python - 阶段失败时的 Spark FileAlreadyExistsException

python - 将解压参数传递给 Python 打印时出现语法错误

python - 如何在脚本中列出与导入对应的 PyPI 包的名称?

Python 根据第一列中的键合并两列

python - 使用字符串在数据框中进行迭代

r - 将 R 数据框分成几行

python - 获取 Pytables 一维数组中值的索引