我有一個由以下代碼生成的簡單 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 to 0.1, 0.1 to 0.2, ..., 0.9 to 1的箱子:第一列和第二列相同(包括左邊的數字,但不包括右邊的數字)。此外,我希望每個 bin 都包含適合它的行的名稱。如何使用 pandas 或 numpy 做到這一點?
uj5u.com熱心網友回復:
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]
uj5u.com熱心網友回復:
有點和前面的答案一樣,但是:
pd.cut(df.unstack(),bins=100)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/415717.html
標籤:
上一篇:回圈多個字符列以派生新變數
