У меня есть CSV, который я считываю в фрейм данных, чтобы удалить определенные столбцы и выполнить некоторые манипуляции.
Вот некоторые примеры строк:
20 2/5/1954 13:55 0.5 18
21 2/5/1954 14:35 0.5 18.2
22 2/5/1954 16:35 0.5 18.5
Я хочу исключить время в datetime, так что, например, я получаю 2/5/1954
вместо 2/5/1954 13:55
.
Я написал этот скрипт:
import pandas as pd
from datetime import datetime as dt
df = pd.read_csv('habsos_20200310.csv', sep=',', error_bad_lines=False, index_col=False, dtype='unicode')
pd.set_option('display.max_rows', None)
# Get only the columns we care about
dfSub = df[['sample_date','sample_depth','water_temp']]
# Remove the NaN values
dfClean = dfSub.dropna()
# Select 0.5 depth measurements only
dfClean2 = dfClean.loc[df['sample_depth'] == '0.5']
print(dfClean2)
Что дает мне:
sample_date sample_depth water_temp
20 2/5/1954 13:55 0.5 18
21 2/5/1954 14:35 0.5 18.2
22 2/5/1954 16:35 0.5 18.5
23 2/5/1954 16:52 0.5 18.5
24 2/5/1954 17:10 0.5 18.6
25 2/5/1954 17:25 0.5 18.8
26 2/5/1954 17:43 0.5 19
Я попытался добавить эти строки в свой сценарий, чтобы преобразовать столбец sample_date
:
new_df = dfClean2['sample_date'].str.split()[0]
print(new_df)
Но я получаю эту ошибку:
$ python3 habsos.py
Traceback (most recent call last):
File "habsos.py", line 22, in <module>
new_df = dfClean2['sample_date'].str.split()[0]
File "/home/reallymemorable/.pyenv/versions/3.5.9/lib/python3.5/site-packages/pandas/core/series.py", line 1071, in __getitem__
result = self.index.get_value(self, key)
File "/home/reallymemorable/.pyenv/versions/3.5.9/lib/python3.5/site-packages/pandas/core/indexes/base.py", line 4730, in get_value
return self._engine.get_value(s, k, tz=getattr(series.dtype, "tz", None))
File "pandas/_libs/index.pyx", line 80, in pandas._libs.index.IndexEngine.get_value
File "pandas/_libs/index.pyx", line 88, in pandas._libs.index.IndexEngine.get_value
File "pandas/_libs/index.pyx", line 131, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 992, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 998, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 0
Как я могу изменить свой сценарий так что я получаю это как выход?
sample_date sample_depth water_temp
20 2/5/1954 0.5 18
21 2/5/1954 0.5 18.2
22 2/5/1954 0.5 18.5
...