我有这个df
data={"col1":["n",3,"n",5,"n",2,6],
"col2":[4,"n",4,6,"n","n",5],
"col3":[7,"n",0,"n","n",6,7],
"col4":[14,11,22,8,6,"n",9],
"col5":[0,5,"n",3,8,"n",9],
"type":["B","n","n","n","B","A","B"],
"number":["one","n","n","n","one","two","n"]}
df=pd.DataFrame.from_dict(data)
print(df)
我喜欢有一个新的列,总和所有";n〃;在每一排/可能是这样的:
df["sum_n"]=df[["list of all col"]].sum("n",axis=)
它需要看起来像这个
data={"col1":["n",3,"n",5,"n",2,6],
"col2":[4,"n",4,6,"n","n",5],
"col3":[7,"n",0,"n","n",6,7],
"col4":[14,11,22,8,6,"n",9],
"col5":[0,5,"n",3,8,"n",9],
"type":["B","n","n","n","B","A","B"],
"number":["one","n","n","n","one","two","n"],
"sum_n":[1,4,4,3,3,3,1]}
df=pd.DataFrame.from_dict(data)
df
Do:
df['sum_n'] = df.eq('n').sum(1)
print(df)
输出
col1 col2 col3 col4 col5 type number sum_n
0 n 4 7 14 0 B one 1
1 3 n n 11 5 n n 4
2 n 4 0 22 n n n 4
3 5 6 n 8 3 n n 3
4 n n n 6 8 B one 3
5 2 n 6 n n A two 3
6 6 5 7 9 9 B n 1