gpt4 book ai didi

python - 显示没有重复值的列的总数

转载 作者:太空宇宙 更新时间:2023-11-04 04:21:54 25 4
gpt4 key购买 nike

我有一个脚本可以输出一个包含五列的 csv。我添加了两行代码来对其中两列求和。我设法做到了这一点,但是,总计是这些列在每一行上重复,我只希望总计显示在一行上。

df['Unit Total'] = df['Units Sold'].sum()
df['Total Revenue'] = df['data_revenue'].sum()

这是我的脚本产生的结果

8   0.013207    AR  ARS 0.105656    74012   575.2779
10 0.013207 AR ARS 0.13207 74012 575.2779
6 0.013207 AR ARS 0.079242 74012 575.2779
6 0.013207 AR ARS 0.079242 74012 575.2779

我真正想看到的

8   0.013207    AR  ARS 0.105656    74012   575.2779
10 0.013207 AR ARS 0.13207
6 0.013207 AR ARS 0.079242
6 0.013207 AR ARS 0.079242

我的脚本

for filename in filelist:
print(filename)
df = pandas.read_csv('SYB_M_20171001_20171031.txt', header=None, encoding='utf-8', sep='\t', names=colnames,
skiprows=3, usecols=['Units Sold', 'Dealer Price', 'End Consumer Country', 'Currency Code']
)
df['data_revenue'] = df['Units Sold'] * df['Dealer Price']
df = df.sort_values(['End Consumer Country', 'Currency Code'])
df['Unit Total'] = df['Units Sold'].sum()
df['Total Revenue'] = df['data_revenue'].sum()
df.to_csv(outfile + r"\output.csv", index=None)
dflist.append(filename)

最佳答案

按位置设置索引的第一个值:

df.loc[df.index[0], 'Unit Total'] = df['Units Sold'].sum()

df.loc[df.index[0], 'Unit Revenue'] = df['data_revenue'].sum()

另一种解决方案是通过 reset_index 创建默认索引使用 drop=True,因此可能由 0 设置:

df = df.sort_values(['End Consumer Country', 'Currency Code']).reset_index(drop=True)

df.loc[0, 'Unit Total'] = df['Units Sold'].sum()
df.loc[0, 'Unit Revenue'] = df['data_revenue'].sum()

关于python - 显示没有重复值的列的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54325739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com