我使用矢量化代碼來創建一個 pandas.Intervals 串列。
例子:
a = np.array([1, 5, 10])
b = np.array([3, 8, 12])
期望的輸出:

我嘗試過的:
A:
pd.Intervals(a,b)
乙:
df['c'] = tuple(np.array([a, b]).T)
df['c'] = df['c'].astype(pd.Intervals)
uj5u.com熱心網友回復:
我使用 Riley 參考找到解決方案:使用pandas.arrays.IntervalArray.from_arrays
解決方案:
a = np.array([1, 5, 10])
b = np.array([3, 8, 12])
c = pd.arrays.IntervalArray.from_arrays(a, b)
uj5u.com熱心網友回復:
您可以使用IntervalIndex而不是IntervalArray擁有更多方法:
c = pd.IntervalIndex.from_arrays(a, b)
print(c)
# Output:
IntervalIndex([(1, 3], (5, 8], (10, 12]], dtype='interval[int64, right]')
uj5u.com熱心網友回復:
也許這對你有用:
import pandas as pd
import numpy as np
a = np.array([1, 5, 10])
b = np.array([3, 8, 12])
df = pd.DataFrame({
'a': a,
'b': b,
'c': [pd.Interval(*boundaries) for boundaries in zip(a, b)]
})
print(df)
結果:
a b c
0 1 3 (1, 3]
1 5 8 (5, 8]
2 10 12 (10, 12]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/333958.html
