import pandas as pd
data = [10]
booklines = pd.DataFrame(data,columns=['Nums'])
matches = {'Fullname':['Sasel - Dassendorf'],'HomeTeam':['Sasel'],'AwayTeam':['Dassendorf']}
matches_df = pd.DataFrame(matches)
有沒有一種方法可以根據 booklines 中的行值 10 復制 match_df 中的行數。
最終結果是匹配 df 像這樣復制了十次。我正在尋找一種編程方式來執行此操作,而不是像這樣手動添加十個。
matches_df.append([matches_df]*10,ignore_index=True)

uj5u.com熱心網友回復:
利用:
val = booklines['Nums'].iat[0]
matches = {'Fullname':['Sasel - Dassendorf']*val,
'HomeTeam':['Sasel']*val,
'AwayTeam':['Dassendorf']*val}
matches_df = pd.DataFrame(matches)
或者:
matches = {'Fullname':['Sasel - Dassendorf'],'HomeTeam':['Sasel'],'AwayTeam':['Dassendorf']}
matches_df = pd.DataFrame(matches).reindex(range(val), method='ffill')
print (matches_df)
Fullname HomeTeam AwayTeam
0 Sasel - Dassendorf Sasel Dassendorf
1 Sasel - Dassendorf Sasel Dassendorf
2 Sasel - Dassendorf Sasel Dassendorf
3 Sasel - Dassendorf Sasel Dassendorf
4 Sasel - Dassendorf Sasel Dassendorf
5 Sasel - Dassendorf Sasel Dassendorf
6 Sasel - Dassendorf Sasel Dassendorf
7 Sasel - Dassendorf Sasel Dassendorf
8 Sasel - Dassendorf Sasel Dassendorf
9 Sasel - Dassendorf Sasel Dassendorf
如果兩個 DataFrame 中的行數相同并且需要使用Nums列進行復制Index.repeat使用DataFrame.loc:
data = [10, 7]
booklines = pd.DataFrame(data,columns=['Nums'])
print (booklines)
Nums
0 10
1 7
matches = {'Fullname':['Sasel - Dassendorf', 'Sasel - Dassendorf'],
'HomeTeam':['Sasel', 'Dassendorf'],
'AwayTeam':['Dassendorf', 'Sasel']}
matches_df = pd.DataFrame(matches)
print (matches_df)
Fullname HomeTeam AwayTeam
0 Sasel - Dassendorf Sasel Dassendorf
1 Sasel - Dassendorf Dassendorf Sasel
df = matches_df.loc[matches_df.index.repeat(booklines['Nums'])]
print (df)
Fullname HomeTeam AwayTeam
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
0 Sasel - Dassendorf Sasel Dassendorf
1 Sasel - Dassendorf Dassendorf Sasel
1 Sasel - Dassendorf Dassendorf Sasel
1 Sasel - Dassendorf Dassendorf Sasel
1 Sasel - Dassendorf Dassendorf Sasel
1 Sasel - Dassendorf Dassendorf Sasel
1 Sasel - Dassendorf Dassendorf Sasel
1 Sasel - Dassendorf Dassendorf Sasel
最后用于默認索引使用:
df = df.reset_index(drop=True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/514021.html
標籤:Python熊猫
