Python 使用loc对部分列求和,而不是全部列求和
当我使用此功能时:Python 使用loc对部分列求和,而不是全部列求和,python,pandas,Python,Pandas,当我使用此功能时: results_all.ix['Total', 'n_Close'] = results_all['n_Close'].sum() 结果如下(结果不是求和而是相加): 当我使用此选项时: results_all.loc['Total']= results_all.sum() 结果是: date n_Close g_Close potential 0 2017-05-02.csv 234 10.5 20.5
results_all.ix['Total', 'n_Close'] = results_all['n_Close'].sum()
结果如下(结果不是求和而是相加):
当我使用此选项时:
results_all.loc['Total']= results_all.sum()
结果是:
date n_Close g_Close potential
0 2017-05-02.csv 234 10.5 20.5
1 2017-05-03.csv -8 0 1
Total 2017-05-02.csv2017-05-03.csv 234.0-8.0 10.50.0 20.51.0
所需结果为特定列的总和:
date n_Close g_Close potential XXX
0 2017-05-02.csv 234 10.5 20.5 10
1 2017-05-03.csv -8 0 1 7
Total nothing here 226 10.50 21.5 nothing here
我认为数字列是
string
s有问题
解决方案是通过将所有值转换为数字,将原始值替换为数字列,并获得总和
:
print (df)
date n_Close g_Close potential
0 2017-05-02.csv 234 10.5 20.5
1 2017-05-03.csv -8 0 1
1 2017-05-03.csv aaa 0 1
df1 = df.apply(pd.to_numeric, errors='coerce')
df.loc[:, ~df1.isnull().all()] = df1
df.loc['Total'] = df1.sum(min_count=1)
print (df)
date n_Close g_Close potential
0 2017-05-02.csv 234 10.5 20.5
1 2017-05-03.csv -8 0 1
1 2017-05-03.csv NaN 0 1 <-aaa was replaced by NaN
Total NaN 226 10.5 22.5
打印(df)
日期n_关闭g_关闭潜力
0 2017-05-02.csv 234 10.5 20.5
2017-05-03.csv-8 0 1
1 2017-05-03.csv aaa 0 1
df1=df.apply(pd.to_numeric,errors='concurve')
df.loc[:,~df1.isnull().all()]=df1
df.loc['Total']=df1.sum(最小计数=1)
打印(df)
日期n_关闭g_关闭潜力
0 2017-05-02.csv 234 10.5 20.5
2017-05-03.csv-8 0 1
1 2017-05-03.0 1
print (df)
date n_Close g_Close potential
0 2017-05-02.csv 234 10.5 20.5
1 2017-05-03.csv -8 0 1
1 2017-05-03.csv aaa 0 1
df1 = df.apply(pd.to_numeric, errors='coerce')
df.loc[:, ~df1.isnull().all()] = df1
df.loc['Total'] = df1.sum(min_count=1)
print (df)
date n_Close g_Close potential
0 2017-05-02.csv 234 10.5 20.5
1 2017-05-03.csv -8 0 1
1 2017-05-03.csv NaN 0 1 <-aaa was replaced by NaN
Total NaN 226 10.5 22.5
df1 = df.apply(pd.to_numeric, errors='coerce')
df.loc['Total'] = df1.sum(min_count=1)
print (df)
date n_Close g_Close potential
0 2017-05-02.csv 234 10.5 20.5
1 2017-05-03.csv -8 0 1
1 2017-05-03.csv aaa 0 1 <- aaa for original values
Total NaN 226 10.5 22.5