我是熊貓新手,我試圖映射多個列而不是一個。 This page告訴我如何用pd.Series
做到這一點,但我無法弄清楚如何映射多個columns
。映射數據幀不是系列熊貓
這是我的兩個DataFrames
我正在嘗試map
。
data2=pd.DataFrame(np.random.randn(5,2),index=range(0,5),columns=['x','y'])
data2['Cluster']=['A','B','A','B','C']
centers2=pd.DataFrame(np.random.randint(0,10,size=(3,2)),index= ['A','B','C'],columns=['x','y'])
這裏data2
樣子:
data2
x y Cluster
0 0.151212 -0.168855 A
1 -0.078935 1.933378 B
2 -0.388903 0.444610 A
3 0.622089 1.609730 B
4 -0.346856 1.095834 C
和centers2
樣子:
centers2
x y
A 6 4
B 6 0
C 4 1
我希望在data2
創建兩個單獨的列,用適當的center2
匹配。這是我的手動嘗試
data2['Centers.x']=[6,6,6,6,4]
data2['Centers.y']=[4,0,4,0,1]
data2
x y Cluster Centers.x Centers.y
0 0.151212 -0.168855 A 6 4
1 -0.078935 1.933378 B 6 0
2 -0.388903 0.444610 A 6 4
3 0.622089 1.609730 B 6 0
4 -0.346856 1.095834 C 4 1
我該怎麼做map
函數? (我知道如何使用循環做到這一點,我需要一個量化的解決方案。)
是的,它是最簡單的,但排序是改變。 – jezrael
沒錯,添加'.sort_index()'以確保獲得排序。 – Stefan
很想 - 它在哪裏? – Stefan