pandas-groupby - 通过继续浮点值(x轴)对熊猫数据框进行分组?
问题描述
我需要通过 x 值创建新的 df
前任。
df_1 >>> x 值为 2000-2300
df_2 >>> x 值为 2300-2800
df_3 >>> x 值为 2800-3500
...
如何在没有绘图图的情况下获得范围 x 值(继续浮点值)?
这里示例df
df.head()
X = [1089.818728,916.0439070000001,4275.421420000001,1650.879383,1769.973982]
Y = [788.5,1685.58,3276.11,2117.01,1870.11]
'X': {'count': 35269.0,
'mean': 2770.332048115335,
'std': 3398.8104089087337,
'min': 606.576038,
'25%': 1441.449553,
'50%': 1877.575007,
'75%': 2862.69605,
'max': 67370.420428},
'Y': {'count': 35269.0,
'mean': 2168.9017117014914,
'std': 1079.4422542889504,
'min': 37.38,
'25%': 1361.85,
'50%': 2008.96,
'75%': 2798.47,
'max': 6738.99}}
<class 'pandas.core.frame.DataFrame'>
Int64Index: 35269 entries, 2 to 66521
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 X 35269 non-null float64
1 Y 35269 non-null float64
dtypes: float64(2)
memory usage: 826.6 KB
解决方案
df_1 >>> x 值为 2000-2300
df_2 >>> x 值为 2300-2800
df_3 >>> x 值为 2800-3500
如果您真的想提取单个数据帧,您可以使用query
:
df_1 = df.query('2000<=X<=2300')
df_2 = df.query('2300<=X<=2800')
df_3 = df.query('2800<=X<=3500')
by = pandas.cut(df['X'], [2000, 2300, 2800, 3500])
df.groupby(by)
例如,这可用于获取示例图片中的条目计数:
df.groupby(by).count()
推荐阅读
- python - 当它应该实际输出成绩时,它继续输出“失败”
- google-apps-script - 如何将数组写入 Google 表格脚本编辑器中的范围列?
- html - CSS 网格:使用 ::after 下划线效果来适应网格项目
- python - 符号的第一次和最后一次出现(没有正则表达式的python)
- python - 使用 pybind11 调用 Python 函数时避免复制输入数据
- java - 不使用 Eclipse 快捷方式以编程方式调用方法的层次结构
- java - 在 JavaFX 项目中添加模块时,出现错误“未设置位置”
- assembly - 编译器生成的标签是什么意思?
- reactjs - 如何在反应中获取绑定函数中的名称属性?
- reactjs - Eslint 不应该强制 props 字段在 React 中是只读的吗?