簡體   English   中英

將值分配給具有相同行相同值的多行熊貓列

[英]Assign values to Multiple rows pandas columns with same rows same value

我有以下數據框

df = pd.DataFrame({'Col1': ['A', 'A', 'C', 'A', 'C','B','A','B']})

我想得到這樣的東西,其中 Col2 不考慮字母順序但出現訂單文本

df = pd.DataFrame({'Col1': ['A', 'A', 'C', 'A', 'C','B','A','B'],
                   'Col2': [1, 1, 2, 1, 2, 3, 1, 3]})

我試過這樣的事情

df['Col2'] =df.groupby(['Col1']).ngroup()

我得到的與我的預期輸出不同。 查看上面代碼的結果

列1 列2
一種 0
一種 0
C 2個
一種 0
C 2個
1個
一種 0
1個

任何幫助將不勝感激

只需將sort選項添加到您的 groupby 因為默認情況下groupbysort

df['val'] = df.groupby(by='Col1', sort=False).ngroup()+1

這應該可以解決您的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM