[英]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 因為默認情況下groupby
將sort
df['val'] = df.groupby(by='Col1', sort=False).ngroup()+1
這應該可以解決您的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.