python - 对包含字符串的熊猫数据框中的列进行求和
问题描述
我正在尝试做一些相对简单的事情来对包含某个字符串的熊猫数据框中的所有列进行求和。然后从总和中将其作为数据框中的新列。这些列都是数字浮点值...
我可以获得包含我想要的字符串的列列表
StmCol = [col for col in cdf.columns if 'Stm_Rate' in col]
但是当我尝试使用以下方法对它们求和时:
cdf['PadStm'] = cdf[StmCol].sum()
我得到一个充满“nan”值的新列。
解决方案
您需要将axis=1 传递给.sum
,默认情况下 (axis=0) 对每列求和:
In [11]: df = pd.DataFrame([[1, 2], [3, 4]], columns=["A", "B"])
In [12]: df
Out[12]:
A B
0 1 2
1 3 4
In [13]: df[["A"]].sum() # Here I'm passing the list of columns ["A"]
Out[13]:
A 4
dtype: int64
In [14]: df[["A"]].sum(axis=1)
Out[14]:
0 1
1 3
dtype: int64
只有后者匹配 df 的索引:
In [15]: df["C"] = df[["A"]].sum()
In [16]: df["D"] = df[["A"]].sum(axis=1)
In [17]: df
Out[17]:
A B C D
0 1 2 NaN 1
1 3 4 NaN 3
推荐阅读
- java - 如何在 spring-boot 应用程序中配置多个 Keycloak sso 客户端?
- r - Rasch:模型和组分析的决定
- javascript - 为什么模板字符串中的数组显示为普通字符串?
- python - 如何将 .csv 文件从 MacBook 导入到 jupyter
- pandas - python中单列的多列
- vue.js - 如何从graphql中的父引用节点中查找子节点
- python - 如何使用 Python 在 wafregional CfnIPSet 中正确定义 ip_set_descriptors
- angular - Angular:为 Service Worker 使用 TypeScript (ServiceWorkerModule)
- python - 如何为隐马尔可夫模型找到最可能的隐藏状态序列
- c++ - 计算 2 的极大幂的有效方法