python - 如何计算给定数据帧列中每个值在某个类间隔内的出现次数?
问题描述
这是我在 stackoverflow 上的第一个问题。
我有两个不同大小的数据df1
框(266808 行)和df2
(201 行)。
df1
和
我想将每个值/数字的计数附加df1['WS_140m']
到df2['count']
如果数字落在给定的类间隔中df2['Class_interval']
。
我努力了
1)
df2['count']=pd.cut(x=df1['WS_140m'], bins=df2['Class_interval'])
2)
df2['count'] = df1['WS_140m'].groupby(df1['Class_interval'])
3)
for anum in df1['WS_140m']:
if anum in df2['Class_interval']:
df2['count'] = df2['count'] + 1
请指导,如果有人知道。
解决方案
请尝试类似:
def in_class_interval(value, interval):
#TODO
def in_class_interval_closure(interval):
return lambda x: in_class_interval(x, interval)
df2['count'] = df2['Class_interval']
.apply(lambda x: df1[in_class_interval_closure(x)(df1['WS_140m'])].size,axis=1)
定义你的函数in_class_interval(value, interval)
,它返回布尔值。
推荐阅读
- r - openxlsx 中的动态 writeFormula 超出了我在 excel 输出中的数据框的最后一行
- javascript - 在javascript中通过多个值聚合数据
- python - Random.choices 不返回均匀分布
- ios - 为什么在这段代码中调用了两次 onReceive(...) 方法?
- r - 使用 RDCOMClient 和 for 循环从 R 中为每封电子邮件附加一个电子表格?
- python - python脚本导致windows.edb文件变大
- python - .agg() 在一系列元素上是明智的吗?
- .net - 同时使用不同的 AdhocWorkspace 实例是否安全?
- visual-studio-code - 错误 EPERM:不允许操作重命名
- push-notification - 当用户撤销网络推送权限时如何更新令牌