对于下面的数据帧df
Filename Language
Repo/Repo_3/.travis.yml YAML 20
Repo/Repo_3/backup_automater_services.py Python 18
Repo/Repo_3/batch_file_rename.py Python 33
Repo/Repo_3/cbd_pennies. C 26
Repo/Repo_3/cbd_rand. C 19
Repo/Repo_3/cbd_rand_dist. C 20
Repo/Repo_3/chaos.py Python 8
Repo/Repo_3/chapter02/item01/Provider.jav Java 4
Repo/Repo_3/chapter02/item01/Service.jav Java 3
Repo/Repo_3/chapter02/item01/Services.jav Java 25
试着找出一种求语言列中重复项之和的方法。 所有C语言或Python的总和
Filename Language Sum of All
Repo/Repo_3 YAML 20
Repo/Repo_3 Python 118
Repo/Repo_3 C 120
Repo/Repo_3 Java 125
尝试使用groupby,但运气不好
df.groupby(['Filename', 'Language'])['Code Lines'].sum()
分组所依据的
Filename
对于要合并的行来说是不同的。您可以从groupby
中删除该列,或者添加一个新列,该列对所有行都是相同的。你知道吗对于您显示的数据帧:
apply
语句将每个文件上的名称按/
拆分,并只重新连接前两个单词,因此如果整个数据帧不遵循该约定,请根据需要进行调整。你知道吗还有一个新的专栏:
使用
groupby
就很简单了。但是,当您在另一列上进行聚合时,您打算如何保留这些文件名呢?你知道吗我建议使用
os.path.split
从文件名中提取绝对目录路径,并对文件名和语言进行分组。你知道吗相关问题 更多 >
编程相关推荐