python - Pandas 对特定列中的所有行求和

标签 python csv pandas

我有一个包含如下输入的 CSV:

Name     hours     Date
User1    2,5        01.01.2017
User1    5          02.01.2017
...
User1    3,5        31.01.2017

现在我想要这样的输出:

 Total:     
  User1   11        01-31.01.2017  

但是我明白了 2,553,5
我不能说为什么我测试了那么多示例,但输出始终相同。

print(df["hours"].sum())

最佳答案

您可以在 read_csv 中首先使用 decimal="," 参数用于删除 float 中的 ,

cols = ['Name','Sum', 'Dates']
a = pd.DataFrame([[df["Name"].iat[0], 
                   df["hours"].sum(), 
                   df["Date"].min().strftime('%d.%m.%Y') + '-' + 
                   df["Date"].max().strftime('%d.%m.%Y')]], columns=cols)
print (a)
    Name   Sum                  Dates
0  User1  11.0  01.01.2017-01.02.2017

关于python - Pandas 对特定列中的所有行求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43324816/

相关文章:

python - 解析 gff 文件,获取脚手架名称并创建一个新的数据框

ruby-on-rails - 在 after_save_filter 中生成 CSV 时未定义方法 'column_names'

使用 pandas read_csv 方法的 Python 多级索引

python - .transform ('first' ) 是做什么的?

python - 使用seaborn绘制热图时出现类型错误

python - 按组按最近的较早日期合并数据框

python - 如何在不保留对连接器的引用的情况下连接到 python 中的 GObject 信号?

python - Django:导入错误:没有名为tinymce的模块

从输入生成 Python 列表

python - 如何将数据作为字符串(不是文件)写入 CSV 格式?