demo 数据
one two three
a 1 5 9
b 2 6 10
c 3 7 11
d 4 8 12
、、、代码如下
df['row_sum']=df.apply(lambda x: x.sum(),axis=1)
print(df)
我的数据是这样的, 用上面的代码提示: return umr_sum(a, axis, dtype, out, keepdims, initial, where) TypeError: can only concatenate str (not "int") to str
求教,我的这种数据怎么求和呢。
1
kangjinwen OP |
2
jimmyismagic 2020-11-30 19:36:47 +08:00
你的 df 是怎么生成的
|
3
kangjinwen OP @jimmyismagic
df=pd.read_csv(r'D:\1.csv') df["总和"] =df.apply(lambda x: x.sum(),axis=1) df.to_csv(r'D:\2.csv',index=False) 是这样读取的 csv |
4
kangjinwen OP 网上 demo 运行后是这样的
df['row_sum']=df.apply(lambda x: x.sum(),axis=1) print(df) one two three row_sum a 1 5 9 15 b 2 6 10 18 c 3 7 11 21 d 4 8 12 24 |
5
jimmyismagic 2020-11-30 19:49:52 +08:00
|
6
yucongo 2020-11-30 19:57:13 +08:00
pd.read_csv(r"file.csv").astype(float).sum(axis=1)
|
7
kangjinwen OP @jimmyismagic 谢谢大佬。就是这样的。。万分感谢!!!
|
8
kangjinwen OP @jimmyismagic 大佬。又要打扰一下,按您这样操作最后求和是正常的,但是新的 cvs 文件就没有第一列数据了。就 AUS.c01 ,AUS.c02 这些。。。
怎么能保留这一列任然可以求和? df["总和"] =df.apply(lambda x: x.sum(),axis=1)里可以加什么参数从第二列开始计算吗? |
9
jimmyismagic 2020-12-01 13:47:45 +08:00
@kangjinwen to_csv 的适合 index=True 就好了
|
10
TimePPT 2020-12-01 14:28:38 +08:00
@kangjinwen
```python import pandas as pd data = {"One": ["a", "b", "c", "d"], "Tow": [1, 2, 3, 4], "Three": [5, 6, 7, 8], "Four":[9, 10, 11, 12]} df = pd.DataFrame(data=data) df["sum"] = df.iloc[:, 1:].apply(np.sum, axis=1) df ``` |
11
kangjinwen OP @jimmyismagic 我用另外一种本办法解决的。没想到就是这么一个参数。谢谢大佬,祝生活舒心,工作顺心!
|
12
jimmyismagic 2020-12-02 10:39:17 +08:00
@kangjinwen 不客气,不用 pandas 好多年了,还记得一点东西
|
13
shm7 2020-12-07 18:42:36 +08:00 via iPhone
这种东西搜一下就有了 dataframe.sum(axis=1)
|