
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 Nov 30, 2020 你的 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 Nov 30, 2020 |
6 yucongo Nov 30, 2020 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 Dec 1, 2020 @kangjinwen to_csv 的适合 index=True 就好了 |
10 TimePPT PRO @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 Dec 2, 2020 @kangjinwen 不客气,不用 pandas 好多年了,还记得一点东西 |
13 shm7 Dec 7, 2020 via iPhone 这种东西搜一下就有了 dataframe.sum(axis=1) |