Я пытаюсь очистить фрейм данных, используя Pandas, и мне нужно извлечь эти строки с идентификатором, именем и количеством точек и поместить их в новые столбцы с именованным идентификатором, именем и num_pts.
Мне нужно сделать логическое индексирование для новых столбцов после.
Я пытался создать новый столбец на основе другого столбца, подобного этому hurricane_df['new_col'] = hurricane_df['col']
, но при попытке индексировать new_col он также индексировал исходный столбец.
Это то, что у меня сейчас есть
Так должны выглядеть данные после
Спасибо за любую помощь
import os
import pandas as pd
from urllib.request import urlretrieve
url = "https://www.nhc.noaa.gov/data/hurdat/hurdat2-1851-2017-050118.txt"
local_fname = "hurdat2.txt"
if not os.path.exists("hurdat2.txt"):
urlretrieve(url, local_fname)
low_memory=False
hurricane_df = pd.read_csv("hurdat2.txt",engine='python',
delim_whitespace=True,names =
['date','time','record_id','status','latitude','longitude','max_wind',
'min_pressure','ne34ktr','se34ktr','sw34ktr','nw34ktr','ne50ktr','se50ktr',
'sw50ktr','nw50ktr','ne64ktr','se64ktr','sw64ktr','nw64ktr']
,header = None)
hurricane_df["identifier"] = hurricane_df["date"].copy()
hurricane_df[(hurricane_df['identifier'].str.contains('AL'))]
edit: В конечном итоге я хочу вычеркнуть эти строки с идентификатором, именем и числом точек и поместить их в новые столбцы с именем named identifier., имя и num_pts.Поэтому я начал с того, что взял столбец даты и добавил эти значения в столбец идентификатора и проанализировал столбец идентификатора со строками, которые начинаются только с AL, чтобы получить только строки идентификатора.
Однако произошло то, что столбец даты все еще менялся.
После того, как я сделаю это, я хочу заполнить это точками отслеживания, удалить строки только с информацией идентификатора (которая идет в новом столбце даты, который я также извлеку из даты, отрицая AL(~), чтобы получить только информацию идентификатора, а затем переупорядочить столбцы в начале кадра данных (df [['c4', 'c5', 'c1', 'c2', 'c3']).