為這篇文章標題的措辭不佳而道歉,我不確定如何最好地簡化對我正在嘗試做的事情的解釋。
我有一個資料幀輸出,其中標記了行之間描述列不一致的會計代碼。例如:
Accounting Codes Account Description
10 D_B 2
10 D_B two
11 D_C 3
11 D_C three
12 D_D 4
12 D_D four
13 D_D FOUR
我正在嘗試使用此資料框將每個唯一代碼映射到 tkinter 標簽,而與該代碼匹配的每個描述都映射到組合框下拉串列。例如,我在下一列中有一個標記為“D_D”的標簽和一個帶有“4”、“四”和“四”下拉選項的組合框,其他 2 個帳戶代碼也是如此。
我遇到的主要問題是將上述資料框轉換為如下串列格式,其中帳戶代碼是第一項,然后是重復的描述,然后可以輕松地回圈生成 tkinter 元素:
duplicates = [
['D_B', '2', 'two'],
['D_C', '3', 'three'],
['D_D', '4', 'four', 'FOUR']
]
我真的完全不知道如何開始轉換它,我試過查看聚合和 groupby,但無法弄清楚如何實作上述輸出。
uj5u.com熱心網友回復:
使用groupby_apply:
duplicates = df.groupby('Accounting Codes')['Account Description'] \
.apply(lambda x: [x.name, *x]).tolist()
print(duplicates)
# Output:
[['D_B', '2', 'two'], ['D_C', '3', 'three'], ['D_D', '4', 'four', 'FOUR']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/323744.html
下一篇:Tkinter僅在創建結束時顯示
