當我嘗試在生成唯一串列之前合并兩列時遇到了問題。
CSV 檔案:
country,half,uniqueTournament
Brazil,1st half,Serie A
England,1st half,Championship
Argentina,2nd half,Primera Liga
Brazil,1st half,Serie A
我的嘗試:
import pandas as pd
csv_file = '@@@@@@@@@@@@@'
df = pd.read_csv(csv_file)
df.loc[(df['half'] == '1st half'), 'country' ' - ' 'uniqueTournament'].unique()
預期結果:
Brazil - Serie A
England - Championship
uj5u.com熱心網友回復:
如果df是這樣的:
country half uniqueTournament
0 Brazil 1st half Serie A
1 England 1st half Championship
2 Argentina 1st half Primera Liga
3 Brazil 1st half Serie A
4 Brazil 2nd half Serie A
然后你可以創建一個新列,然后groupby agg(list):
df['new'] = df['country'] ' - ' df['uniqueTournament']
df.drop_duplicates(subset=['half','new']).groupby('half')['new'].agg(list).tolist()
或者你可以使用groupby unique:
out = df.groupby('half')['new'].unique().tolist()
輸出:
[['Brazil - Serie A', 'England - Championship', 'Argentina - Primera Liga'],
['Brazil - Serie A']]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/439388.html
上一篇:如何用R中同一資料框中的另一列中的值替換一列中的空值
下一篇:在多列值之間創建新列
