Mam DataFrame Panda z danymi DATE_TIME/napięcie tak (DF1):porównaj 2 kolumny 2 różnych dataframes pandy, jeśli ta sama wkładka 1 do drugiej w Pythonie
Date_Time Chan
0 20130401 9:00 AAT
1 20130401 10:00 AAT
2 20130401 11:00 AAT
3 20130401 12:00 AAT
4 20130401 13:00 AAT
5 20130401 14:00 AAT
6 20130401 15:00 AAT
Używam tego jako prototyp do wczytania danych z dużo większego pliku danych i utworzenia jednej DataFrame. Drugi DataFrame wygląda następująco (DF2):
Chan date_time Sens1 Sens2
AAC 01-Apr-2013 09:00 5.17 1281
AAC 01-Apr-2013 10:00 5.01 500
AAC 01-Apr-2013 12:00 5.17 100
AAC 01-Apr-2013 13:00 5.19 41997
AAC 01-Apr-2013 16:00 5.21 2123
AAT 01-Apr-2013 09:00 28.82 300
AAT 01-Apr-2013 10:00 28.35 4900
AAT 01-Apr-2013 12:00 28.04 250
AAE 01-Apr-2013 11:00 3.36 400
AAE 01-Apr-2013 12:00 3.41 200
AAE 01-Apr-2013 13:00 3.40 2388
AAE 01-Apr-2013 14:00 3.37 300
AAE 01-Apr-2013 15:00 3.35 500
AXN 01-Apr-2013 09:00 23.96 6643
AXN 01-Apr-2013 10:00 24.03 1000
AXW 01-Apr-2013 11:00 46.44 2343
Więc to, co chcę zrobić, to znaleźć df2 dla wszystkich wystąpień meczu z obu kolumn DF1 (zważywszy różnych formatów danych) i wstawić dane z DF2 do df1. Tak (DF1)
Date_Time Chan Sens1 Sens2
0 20130401 9:00 AAT 28.82 300
1 20130401 10:00 AAT 28.35 4900
2 20130401 11:00 AAT NaN NaN
3 20130401 12:00 AAT 28.04 250
4 20130401 13:00 AAT NaN NaN
5 20130401 14:00 AAT NaN NaN
6 20130401 15:00 AAT NaN NaN
Czy możesz dać mi jakieś sugestie co do kodu Pythona/pandy dopasować ten psuedocode:
if (df1['date_time'] = df2['date_time']) & (df1['Chan'] = df2['Chan'])):
df1['Sens1'] = df2['Sens1']
df1['Sens2'] = df2['Sens2']
Jeśli to wpływa na odpowiedź, to jest moim zamiarem bfill i ffill NaN, a następnie dodaj tę DataFrame do panelu, a następnie powtórz z inną nazwą kanału zamiast AAT.
mogę zobaczyć, jak to będzie działać, ale jestem coraz błąd: "TypeError: to _datetime() ma nieoczekiwany argument słowa kluczowego "format" w linii pd.to_datetime. Czy jest to funkcja, która dodała format w późniejszej wersji pandy. Mam wersję pand, która została dołączona do Pyzo (które uważałem za 0.12). – knight2270
Zgodnie z tą "pd .__ version__" mam wersję 0.10.1. Pozwól, że to naprawię i wrócę do tego problemu, ponieważ przeczytałem coś o zmianach formatu między 10 a 12. – knight2270
OK Tak więc podniosłem stan wysoki i niski. Wierzę, że pakiet Pyzo 2013b zawiera pandy 0.10.0. Ostatni jest 0.12.0 Nie mogę uzyskać metody formatu ", format ="% Y% m% d% H:% M '' – knight2270