python - Pandas Concat 添加空单元格/列
问题描述
我有两个看起来像这样的熊猫数据框。标头是指示性的 - 数据框实际上没有任何标头(标题)。
**Dataframe 1**
Browser_name Count
IE 4
Chrome 7
Firefox 6
DDG 2
**Dataframe 2**
Browser_name Count
IE 6
Chrome 18
Firefox 9
DDG 4
我想要的输出是一个数据框,第一列中包含浏览器名称,第二列中包含它们的计数总和,如下所示。
**Final_Dataframe**
Browser_name Count
IE 10
Chrome 25
Firefox 15
DDG 6
我尝试使用两个数据帧的 concat ,然后计划使用 pivot 但我被困在 concat 本身。它为每一行添加空列,因此无法继续下一步。
所有帮助表示赞赏。
解决方案
如果有 2 列 DataFrame 解决方案是按第一列创建索引,Series
然后按位置创建索引,然后使用Series.add
,最后Series.reset_index
:
s1 = df1.set_index(df1.columns[0]).iloc[:, 0]
s2 = df2.set_index(df2.columns[0]).iloc[:, 0]
df = s1.add(s2).reset_index()
df.columns = ['Browser_name','Count']
或者先设置列名:
df1.columns = ['Browser_name','Count']
df2.columns = ['Browser_name','Count']
s1 = df1.set_index('Browser_name')['Count']
s2 = df2.set_index('Browser_name')['Count']
df = s1.add(s2).reset_index()
print (df)
Browser_name Count
0 IE 10
1 Chrome 25
2 Firefox 15
3 DDG 6
如果输入是Series
:
print (type(df1))
<class 'pandas.core.series.Series'>
print (type(df2))
<class 'pandas.core.series.Series'>
df = df1.add(df2).reset_index()
df.columns = ['Browser_name','Count']
print (df)
Browser_name Count
0 IE 10
1 Chrome 25
2 Firefox 15
3 DDG 6
推荐阅读
- perl - Perl WWW::Mechanize Instagram
- java - Java spring 错误:即使我完全按照老师所说的一切,它也不起作用
- python - 如何将帮助打印到标准输出?
- php - PHP 。如何在发布方法后强制我的代码重定向?
- java - 将素数添加到 X 的代码可以正常工作,但同时适用于多个测试用例,在按 Enter 之前不会执行最后一个用例
- ios - SWIFT - 如何获取表格单元格中对象的连接以从表格单元格中的另一个对象更改其属性
- javascript - 任何纠正这个/解释它的帮助将不胜感激
- python - 将pybind numpy数组从float转换为double
- php - 如果 current_time 在 A 和 B 之间,如何将自定义 CSS 代码添加到 wp_head?
- sql - 在 SQL 中组合类似的行并聚合一些值