我必须处理的 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/