3 回答
TA貢獻1802條經驗 獲得超5個贊
values
In [1]: df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c']); df
A B
a 1 4b 2 5c 3 6In [2]: df.index.valuesOut[2]: array(['a', 'b', 'c'], dtype=object)In [3]: df['A'].valuesOut[3]: Out[16]: array([1, 2, 3])
tolist:
In [4]: df.index.tolist()Out[4]: ['a', 'b']
TA貢獻1895條經驗 獲得超3個贊
df.indexdf.index.tolist()df['col'].tolist()
TA貢獻1982條經驗 獲得超2個贊
不建議使用 .values贊成這些方法!
Index, SeriesDataFrameto_numpy().array
我們沒有刪除或反對 Series.values或 DataFrame.values,但是 我們強烈推薦和使用 .array或 .to_numpy()相反。
df.index.to_numpy()# array(['a', 'b'], dtype=object)df['A'].to_numpy()# array([1, 4])
v = df.index.to_numpy()v[0] = -1df A B-1 1 2b 4 5
to_numpy(copy=True);
v = df.index.to_numpy(copy=True)v[-1] = -123df A B a 1 2b 4 5
.array
arrayExtensionArray
pd.__version__# '0.24.0rc1'# Setup.df = pd.DataFrame([[1, 2], [4, 5]], columns=['A', 'B'], index=['a', 'b'])df A B a 1 2b 4 5
df.index.array # <PandasArray># ['a', 'b']# Length: 2, dtype: objectdf['A'].array# <PandasArray># [1, 4]# Length: 2, dtype: int64
list:
list(df.index.array)# ['a', 'b']list(df['A'].array)# [1, 4]
.tolist():
df.index.tolist()# ['a', 'b']df['A'].tolist()# [1, 4]
為 Series和 Index由普通NumPy數組支持的ES, Series.array將返回一個新的 arrays.PandasArray,它是一個薄的(無副本)包裝器。 numpy.ndarray.arrays.PandasArray它本身并不特別有用,但它確實提供了與在熊貓或第三方庫中定義的任何擴展數組相同的接口。
.array
現有 ExtensionArray支持索引/系列,或 如果有一個NumPy數組支持該系列,則將生成一個新的 ExtensionArray對象是作為底層數組上的一個薄包裝器創建的。
添加兩種新方法的理由
[.]帶著 .values還不清楚返回的值是實際數組,還是它的某些轉換,還是熊貓自定義數組之一(如 Categorical)。例如,用 PeriodIndex,.values生成一個新的 ndarray每次的句點對象。[.]
.values
添加回答
舉報
