python, birkaç satırdaki değerlerin toplamı
Oct 15 2020
Aşağıdaki gibi yüzlerce csv dosyam var:
Bunun sütunlar için her satır toplamını hesaplamak için yapmak istediğim şey A_*ve B_*sırasıyla.
Örneğin file_1.csv, şu kodu kullanıyorum:
#for file_1.csv
import pandas as pd
df = pd.read_csv('file_1.csv')
df["A_sum"]=df["A_1"]+df["A_2"]+df["A_3"]
df["B_sum"]=df["B_1"]+df["B_2"]
df.to_csv (r'output_file_1.csv', index = False, header=True)
Bunun gibi yüzlerce dosyayı işlemem gerektiğine göre , bir csv dosyasında otomatik olarak kaç tane Asütun ve bsütun belirleyip toplamı hesaplayabilmesi için kodu nasıl değiştirmeliyim ?
Örneğin, bunun file_3.csvgibi kod üretebilir :
#for file_3.csv
import pandas as pd
df = pd.read_csv('file_3.csv')
df["A_sum"]=df["A_1"]+df["A_2"]
df["B_sum"]=df["B_1"]+df["B_2"]
df.to_csv (r'output_file_3.csv', index = False, header=True)
Çok teşekkür ederim.
Yanıtlar
2 QuangHoang Oct 15 2020 at 00:56
Şunları kullanabilirsiniz filter:
ret_df = pd.DataFrame()
ret_df['A_sum'] = df.filter(like='A_').sum(1)
ret_df['B_sum'] = df.filter(like='B_').sum(1)
Veya normal ifadeyi ve ayrıca bir döngü kullanın:
for type in ['A','B']:
df[f'{type}_sum'] = df.filter(regex=f'^{type}_').sum(1)
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'