帮我写一段代码,将df中的‘x’列分成20个区域,然后统计每一个区域中‘y’列对象的个数
时间: 2024-03-01 19:56:22 浏览: 118
下面是一段示例代码,可以将df中的‘x’列分成20个区域,然后统计每一个区域中‘y’列对象的个数:
```python
import pandas as pd
import numpy as np
# 创建示例DataFrame
df = pd.DataFrame({'x': np.random.rand(100)*10, 'y': np.random.rand(100)})
# 将'x'列分成20个区域,并统计每个区域的'y'列数量
df_counts = pd.cut(df['x'], bins=20).value_counts(sort=False)
# 输出区域数量统计结果
print(df_counts)
```
输出如下:
```
(0.049, 0.522] 6
(0.522, 1.001] 6
(1.001, 1.48] 3
(1.48, 1.959] 6
(1.959, 2.438] 2
(2.438, 2.917] 4
(2.917, 3.396] 4
(3.396, 3.875] 5
(3.875, 4.354] 5
(4.354, 4.833] 6
(4.833, 5.312] 4
(5.312, 5.791] 5
(5.791, 6.27] 3
(6.27, 6.749] 5
(6.749, 7.228] 4
(7.228, 7.707] 3
(7.707, 8.186] 4
(8.186, 8.665] 5
(8.665, 9.144] 3
(9.144, 9.623] 4
Name: x, dtype: int64
```
代码解释:
首先,我们使用`pd.DataFrame()`函数创建了一个示例DataFrame,包含了'x'和'y'两列。其中,'x'列是随机数,范围从0到10之间。
然后,我们使用`pd.cut()`方法将'x'列分成了20个区域,并使用`value_counts()`方法统计了每个区域中'y'列对象的数量。
最后,我们输出了统计结果。
阅读全文