我有一個 numpy 陣列 arr:
array([[1., 2., 3.],
[4., 2., 1.],
[1., 2., 0.]])
我也有熊貓資料框df:
col1 col2
a 2
b 7
c 10
我想將 col2 中的值附加到陣列以獲得此結果:
array([[1., 2., 3., 2.],
[4., 2., 1., 7.],
[1., 2., 0., 10.]])
這不起作用 arr[:, :-1] = df["col2"]
怎么做?
uj5u.com熱心網友回復:
hstack 有效,另一種方法是:
from numpy import array, c_
from pandas import DataFrame
arr = array([
[1., 2., 3.],
[4., 2., 1.],
[1., 2., 0.]
])
df = DataFrame([
['a', 2],
['b', 7],
['c', 10]
], columns=['col1', 'col2'])
arr = c_[arr, df['col2']]
print(arr)
結果:
[[ 1. 2. 3. 2.]
[ 4. 2. 1. 7.]
[ 1. 2. 0. 10.]]
我喜歡 的簡潔性和簡單性c_[arr, df['col2']],但當然它不完全是描述性的,所以只有知道它的人才能理解它的含義https://numpy.org/doc/stable/reference/generated/numpy.c_.html
uj5u.com熱心網友回復:
使用np.hstack:
np.hstack([arr, df.col2.to_frame()])
您需要確保它們具有相同的形狀,這就是to_frame零件的原因。您也可以直接添加另一個軸df.col2[:, None]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/420304.html
標籤:
