內比方說,我有以下數據過濾大熊貓據幀
import pandas as pd
df = pd.DataFrame(data=[[1, 'a'], [1, 'aaa'], [1, 'aa'],
[2, 'bb'], [2, 'bbb'],
[3, 'cc']],
columns=['key', 'text'])
key text
0 1 a
1 1 aaa
2 1 aa
3 2 bb
4 2 bbb
5 3 cc
我想什麼做的是組由key
變量並通過text
長度每個組內的數據進行排序和最終得到索引值的單個Series
用於重新索引數據幀。我想我可能只是做這樣的事情:
df.groupby('key').text.str.len().sort_values(ascending=False).index
但它說我需要使用apply
,所以我嘗試這樣做:
df.groupby('key').apply(lambda x: x.text.str.len().sort_values(ascending=False).index, axis=1)
但是,告訴我,lambda
得到了一個意想不到的關鍵字:axis
。
我對熊貓比較新,所以我不知道如何去做這件事。另外,我的目標是簡單地對數據進行重複數據刪除,以便每個key
的數值保持最長值text
。預期的輸出是:
key text
1 1 aaa
4 2 bbb
5 3 cc
如果有做到這一點比我嘗試一個更簡單的方法,我接受這一點。
釘它,謝謝! – brittenb
不客氣,謝謝。 –