简体   繁体   English

我正在尝试使用python pandas数据框将多个列求和成一个新的sum列

[英]I'm trying to sum multiple columns into a new sum column using a python pandas dataframe

I'm trying to learn python and have been trying to figure out how to create a sum column of my data. 我正在尝试学习python,并一直试图弄清楚如何创建我的数据的sum列。 I want to sum all other columns. 我想总结所有其他列。 I create the new column but all sum values are zero. 我创建新列,但所有总和值为零。 The data can be found here . 数据可以在这里找到。 My code is below, thank you for the help: 我的代码如下,谢谢您的帮助:

import pandas as pd
#Importing csv file to chinaimport_df datafram
filename=r'C:\Users\Ing PC\Documents\Intro to Data Analysis\Final Project\CHINA_DOLLAR_IMPORTS.csv'
chinaimport_df = pd.read_csv(filename)

# Removing all rows that contain only zeros, thresh since since first column is words
chinaimport_df = chinaimport_df.dropna(how='all',axis=0, thresh=2) 

#Convert NANs to zeros
chinaimport_df=chinaimport_df.fillna(0)

#create a list of columns excluding the first column, to make sum func work later

col_list= list(chinaimport_df)
col_list.remove('Commodity')
print(col_list)

#adding column that sums 

chinaimport_df['Total'] = chinaimport_df[col_list].sum(axis=1)




chinaimport_df.to_csv("output.csv", index=False)

IIUC this should do it. IIUC应该这样做。

import pandas as pd

df = pd.read_csv('CHINA_DOLLAR_IMPORTS.csv')

df['Total'] = df.replace(r',',"", regex=True).iloc[:, 1:].astype(float).sum(axis=1)

df.to_csv('output.csv', index=False)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM