Ich habe diese Funktion, die (unter anderem) soll eine Baseball-Spiele CSV-Datei lesen, erstellen Sie eine Liste aller Teams (dieser Teil funktioniert). Die Datei enthält Match-Daten und Home-Match-Daten. Die Idee besteht darin, die Daten zu teilen, die Spalten zu ändern und schließlich die Übereinstimmungsdaten unabhängig von der Position anzuhängen (dieser letzte Teil funktioniert nicht). Anstatt meine Auswärts- und Heimspiele in einem Datenrahmen anzuhängen, überschreibt der Code die Heimspiele vollständig.Der Versuch, zwei Pandas DataFrames innerhalb einer Schleife anzuhängen, bewirkt, dass die erste überschrieben wird
Ich habe meinen Code zusammen mit der Frage beigefügt.
Vielen Dank für Ihre Hilfe.
df = pd.read_csv('C:\\Users\\data.csv', index_col=0)
unique = df['Team Home'].unique()
inplace = ['H', 'A']
myway = pd.DataFrame()
for i in range(len(unique)):
for inp in inplace:
if inp == 'H': #loop to find column names with 'Home' and 'Away' Labels
located = 'Home'
character = 'H'
else:
located = 'Away'
character = 'A'
noseclean_h = df[df['Team {}'.format(located)].isin([unique[i]])]
noseclean_h = noseclean_h.sort_values('Date')
home = [rr for rr in rolling_haiting if character in rr]
new_home = [rr.replace('{}'.format(located), '').strip() if character in rr and len(rr) > 2
else rr.replace(character, '') for rr in home]
new_home.append('Date')
new_home.append('Team')
home.append('Date')
home.append('Team {}'.format(located))
ncleaned = ncleaned[home]
d = dict(zip(home, new_home))
ncleaned .rename(columns=d, inplace=True)
nosecleaned_h['Date'] = pd.to_datetime(ncleaned ['Date'])
nosecleaned_h.set_index('Date', inplace=True) # set index to date to prevent overlapping
nosecleaned_h = nosecleaned_h.append(nosecleaned_h, ignore_index=False)
print(nosecleaned_h)
....etc