Я очищаю столбец дат в фрейме данных и написал функцию, которая каким-то образом очищает некоторые записи и другим способом очищает все остальные записи.
Я очищаю данные двумя отдельными сериями. Я записал индексную позицию каждой записи в исходном столбце и знаю, какие индексы есть в каждой из двух чистых серий.
Моя проблема состоит в том, чтобы назначить обе серии вместе столбцу данных. Я просто не могу этого сделать.
Моя функция f получает столбец дат и возвращает список из 4: индексы столбца в первой серии [0], чистые записи в первой серии [1], индексы столбца во второй серии [2], чистые записи во второй серии [3].
Так что, когда я делаю f (столбец) [3] и f (столбец) [1], я получаю очищенные серии панд.
#Function works:
>>> f(df['dates_column'])[0]
, 18812, 18813, 18814, 18815, 18816, 18817, 18818, 18819, 18820, 18821,
18822, 18823, 18824, 18825, 18826,
>>> f(df['dates_column'])[1].tail()
331849 2009-10-03
331850 2006-10-03
331851 2015-09-27
331852 1911-08-09
331853 2013-09-03
Name: dates_column, dtype: datetime64[ns]
>>> f(df['dates_column'])[3].tail()
331898 1996-12-11
331899 2004-06-01
331900 2010-03-12
331901 2016-01-06
331902 2010-03-12
Name: dates_column, dtype: datetime64[ns]
>>> f(df['dates_column'])[1].head()
0 1900-01-01
1 1900-01-01
2 1900-01-01
3 1900-01-01
4 1900-01-01
Name: dates_column, dtype: datetime64[ns]
>>> f(df['dates_column'])[3].head()
40036 2002-06-18
40037 2005-04-01
40038 2002-04-01
40039 2003-05-02
40040 2006-10-01
Name: dates_column, dtype: datetime64[ns]
#But cannot assign properly..
>>> df['dates_column'][function(df['dates_column'])[0]] =
f(df['dates_column'])[1]
<input>:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
>>> df['dates_column'][f(df['dates_column'])[2]] =
f(df['dates_column'])[3]
<input>:1: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
#And it gets all crazy in the head..
>>> df['dates_column'].head()
0 -2208988800000000000
1 -2208988800000000000
2 -2208988800000000000
3 -2208988800000000000
4 -2208988800000000000
Name: dates_column, dtype: object
#And in the tail
>>> df['dates_column'].tail()
31898 1996-12-11 00:00:00
331899 2004-06-01 00:00:00
331900 2010-03-12 00:00:00
331901 2016-01-06 00:00:00
331902 2010-03-12 00:00:00
Name: dates_column, dtype: object
Как назначить значения в обеих сериях для date_column? Я не могу понять изменение формата