Saya memiliki file csv ini bernama sample.csv:

CODE     HOME_TEAM     AWAY_TEAM 
0001        Lakers          Jazz          
0002       Raptors        Lakers             
0003      Warriors      Portland           
0004     Mavericks        Lakers          
0005       Celtics     Mavericks

Saya ingin mencetak setiap pertandingan yang diikuti tim berdasarkan masukan pengguna. Misalkan dalam contoh di atas, pengguna memasukkan "Lakers", program akan mencetak:

CODE     HOME_TEAM     AWAY_TEAM 
0001        Lakers          Jazz          
0002       Raptors        Lakers                     
0004     Mavericks        Lakers          
    

Sejauh ini, apa yang saya kode (lihat di bawah) mencetak informasi secara terpisah.

import pandas as pd

df = pd.read_csv("sample.csv")

select_Team = input("Which team do you like to see: ")
df2 = df[df["HOME_TEAM"] == select_Team]
df3 = df[df["AWAY_TEAM"] == select_Team]
print(df2)
print(df3)

Apa yang harus saya lakukan untuk menyajikan informasi sebagai satu (seperti yang saya tunjukkan di atas)?

0
thepajama 7 Januari 2021, 19:18

3 jawaban

Jawaban Terbaik

Jika Anda ingin memasukkan kedua kondisi

df2 = df[(df["HOME_TEAM"] == select_Team) | (df["AWAY_TEAM"] == select_Team)]
0
Ignacio Alorre 7 Januari 2021, 16:23

Mari kita coba eq dengan any PS adalah tim lebih dari satu perubahan eq menjadi isin

out = df[df.eq('Lakers').any(1)] # df[df.isin(['Lakers']).any(1)]
Out[462]: 
   CODE  HOME_TEAM AWAY_TEAM
0     1     Lakers      Jazz
1     2    Raptors    Lakers
3     4  Mavericks    Lakers
0
BENY 7 Januari 2021, 16:27

Anda juga dapat membuat beberapa logika untuk meningkatkan kesalahan nilai jika tim yang dimasukkan tidak ada dalam DataFrame:

select_Team = input("Which team do you like to see: ")

df2 = df[(df['HOME_TEAM'].str.lower() == select_Team.lower()) | (df['AWAY_TEAM'].str.lower() == select_Team.lower())]
if len(df2) == 0:
    raise ValueError(f"{select_Team} is not in the DataFrame. The teams available are {set(df[['HOME_TEAM', 'AWAY_TEAM']].stack())}")
else:
    print(df2)
0
It_is_Chris 7 Januari 2021, 16:38