для набора данных, считанного из csv, например,
id street suburb postcode timeStamp
A1 aa BB 001 2016
A1 aa BB 001 2019
Я должен объединить строки с одним и тем же идентификатором, а в случае конфликта значений использовать последний. Так что набор данных после объединения должен быть:
id street suburb postcode timeStamp
A1 aa BB 001 2019
, но набор данных в CSV:
id street suburb postcode timeStamp
A1 aa BB 001 2016
A1 aa BB 001 None None 2019
люди могут ввести полный адрес в столбце улицы. Я думаю, что мне нужно очистить данные перед объединением этих двух строк.
Вот моя текущая версия, я не рассматривал вышеупомянутую ситуацию до объединения.
import pandas as pd
test = pd.read_csv("dd.csv")
df = pd.DataFrame(test)
df = df.sort_values(["id","timeStamp"])
duplicateRowsDF = df[df.duplicated(keep=False,subset='id')]
df=df.ffill().drop_duplicates('id',keep='last')
Как мне очистить данные таким образом? Я думаю, что если значение в этом столбце заканчивается цифрами, переместите цифры в почтовый индекс, а слово перед почтовым индексом в столбец пригорода ...
Новое в программировании и в стеке потока, дайте мне знать, если не ясно,Спасибо
редактировать: что если в пригороде может быть более одного слова, как я могу отделить пригород от улицы? разделить улицу после таких слов, как 'St', 'Rd'etc?
id street suburb postcode timeStamp
A1 aa St pitt town 001 2016
A1 aa St pitt town 001 None None 2019