我正在尝试做一个相对简单的事情,将熊猫数据框中包含特定字符串的所有列相加。然后根据总和在数据框中添加新列。这些列都是数字浮点值...
我可以获得包含我想要的字符串的列的列表
foreach($result as $sub){
list($valname, $val) = $sub;
// Your table code
}
但是当我尝试使用以下方法对它们求和时:
StmCol = [col for col in cdf.columns if 'Stm_Rate' in col]
我得到一个充满“ nan”值的新列。
答案 0 :(得分:1)
您需要传递axis=1 to .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