добавление столбца datetime к числовому фрейму данных приводит к тому, что значения становятся числовыми, следовательно, NaN - PullRequest
0 голосов
/ 12 июня 2018

У меня есть датафрейм с числовыми записями, к которому я хочу добавить несколько числовых кодов в виде строк, и они тоже принимаются в качестве чисел, хотя я пытаюсь указать dtype = 'str', и, поскольку они не похожи на числа, онистать NaNs:

dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
df['codes'] = pd.Series(['3/27', '3/22', '3/23', '3/27', '3/58', '3/29'], dtype='str')
df

, что приводит к:

Out[1]: 
                   A         B         C         D codes
2013-01-01 -1.071662  0.322842 -1.364833  1.046144   NaN
2013-01-02 -1.779425  1.403387 -1.603079  2.117234   NaN
2013-01-03 -0.759267 -0.305942  1.310631  0.606185   NaN
2013-01-04  1.610275 -0.681264  0.800195  0.775496   NaN
2013-01-05  1.145720  0.252765 -1.512279 -0.222186   NaN
2013-01-06  1.267579 -1.412583 -0.270927  0.584454   NaN

Что я могу сделать, чтобы ввести эти коды в виде строк?

1 Ответ

0 голосов
/ 12 июня 2018

Добавить index=df.index для выравнивания нового Series в DataFrame:

df['codes'] = pd.Series(['3/27', '3/22', '3/23', '3/27', '3/58', '3/29'], index=df.index)

Или назначить список:

df['codes'] = ['3/27', '3/22', '3/23', '3/27', '3/58', '3/29']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...