python - 如何将 DataFrame 分类到 bin 中,保留每个 bin 的名称?

标签 python pandas dataframe

我有一个由以下代码生成的简单 DataFrame:

import pandas as pd
df = pd.DataFrame([[0.45, 0.34],
                   [0.51, 0.55],
                   [0.62, 0.48],
                   [0.71, 0.65],
                   [0.68, 0.79]],
                  columns = [0, 1],
                  index = list("ABCDE"))
print(df.to_string())

我想把它变成 100 个这样的箱子:0 到 0.1,0.1 到 0.2,...,0.9 到 1 第一列和第二列相同(包括左边的数字,但不包括右边的数字)。此外,我希望每个 bin 都包含适合它的行的名称。如何使用 pandas 或 numpy 来实现?

最佳答案

IIUC 你可以简单地使用 pd.cut:

df.apply(pd.cut, bins=np.linspace(0, 1, 101))                                                 

输出:

              0             1
A  (0.44, 0.45]  (0.33, 0.34]
B   (0.5, 0.51]  (0.54, 0.55]
C  (0.61, 0.62]  (0.47, 0.48]
D   (0.7, 0.71]  (0.64, 0.65]
E  (0.67, 0.68]  (0.78, 0.79]

关于python - 如何将 DataFrame 分类到 bin 中,保留每个 bin 的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70770442/

相关文章:

python - 我的rabbitmq的qps在rabbitmq-c的piki 1000中只有80,这是怎么回事?

python - 通过 pandas 进行时间序列

python - 将 xarray 数据变量重新分配给 xarray 坐标

python - 运行源代码中包含 Unicode 字符的 Python 2.7 代码

Python 扩展返回对象礼仪

python - 如何对 pandas 中的数据框应用函数?

pandas - 分类字段的可能性太多

python - 在 Python 中将数组转换为 DataFrame

python - 拆分 Pandas 列并对值求和

python - 创建一个数据框作为行索引值和列名称的函数?