Mam dość dużą ramkę danych z pliku CSV w pandach.Jak zmodyfikować pełny tekst niektórych kolumn w pandach?
Problem polega na tym, że w niektórych kolumnach otrzymuję ciągi tekstu, które chciałbym wyizolować ostatnim znakiem, aby zamienić go w liczby całkowite.
Znalazłem rozwiązanie, ale jestem dość pewny, że nie jest najbardziej efektywny. To idzie tak:
import pandas as pd
df = pd.read_csv("filename")
cols = list(df.loc[:, 'col_a':'column_s'])
df_filtered = df[cols].dropna()
df_filtered['col_o'] = df_filtered['col_o'].str[-1:]
df_filtered['col_p'] = df_filtered['col_p'].str[-1:]
df_filtered['col_q'] = df_filtered['col_q'].str[-1:]
df_filtered['col_r'] = df_filtered['col_r'].str[-1:]
df_filtered['col_s'] = df_filtered['col_s'].str[-1:]
chodzi o pisanie, to nie jest naprawdę skuteczny. Więc próbowałem coś takiego:
colstofilter = list(df_filtered.loc[:, 'col_o':'col_s'])
for col in df_filtered[colstofilter]:
print(df_filtered[col].str[-1:].head())
Drukowanie daje dokładnie to, co chcę, ale gdy próbuję włączyć go do funkcji lub Lamba lub zastosować go do dataframe, pojawia się błąd, że jest to nieobsługiwane
To działa jak urok! Wielkie dzięki ! –