pandas - 作为新列的范围内正值的数据框计数

标签 pandas dataframe

我有一个数据框:

df = pd.DataFrame(np.random.randn(10, 3), columns=list('XYZ'))
df.insert(0, 'NAME', pd.Series(list('ABCDEFGHIJ')))



并希望将指定列 ( 'X', 'Y', 'Z' ) 中的正条目数作为数据帧的新列。



这样做的最佳方法是什么?

最佳答案

这是一种方法:

df['COUNT'] = df.select_dtypes(include='float64').gt(0).sum(axis=1)
#  NAME         X         Y         Z  COUNT
# 0    A -0.033066 -1.064625 -0.299286      0
# 1    B  0.902976 -1.703256 -0.011417      1
# 2    C -2.537364 -0.216643  1.051398      1
# 3    D  1.073677 -1.486599 -0.827829      1
# 4    E  2.157901  0.425371 -1.659263      2
# 5    F -1.589662 -0.382535  0.454324      1
# 6    G  0.487965  0.279265  0.820486      3
# 7    H  0.496104 -0.680161  0.763793      2
# 8    I -0.034518 -0.479307 -0.071954      0
# 9    J -0.170412  0.558505 -1.742784      1
select_dtypes方法是不言自明的,但在这种情况下,它对于过滤到特定 dtype 的列很有用,而无需担心列名。
.gt方法( documentation )测试系列值是否大于参数值(在本例中为 0 ),并返回 bool 值。然后我们可以计算 True 值的行式总和,以获得满足我们标准的值的计数。

关于pandas - 作为新列的范围内正值的数据框计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48308770/

相关文章:

scala - 如何在scala中进行外部连接

python - Pandas - 无法按重复列排序

python - 每第 n 行 Pandas iloc 复杂切片

python - 从 pandas.HDFStore 表中选择列

python - XML 到 Pandas 数据框

r - 如何使用 dplyr 将累积列添加到 R 数据帧?

python - PostGres 为数据帧返回 MemoryError

python - 在 Apache Nifi ExecuteStreamCommand 中运行 python 代码

Python pandas 两列索引和区域。该地区有州,其下有城镇。我需要一个显示相应状态的新列

python - 尝试交叉两个数据帧,一个带有值,另一个带有 boolean 值