DataFrame: чтобы найти указанную строку и присвоить числовое значение другому столбцу в той же строке - PullRequest
0 голосов
/ 10 мая 2019

Когда выполняется условное выражение c1 = 2017-04-01, мы хотим заменить число 300.0 на c3.

В результате 300.0 заменяется на r3 и c3.Однако условное выражение - это не столбцы r3: c1 = 2017-04-01 - это r3 для организации, поэтому оно становится строкой.

import pandas as pd
df=pd.DataFrame(
  [["2017-02-01",10.,100.],
  ["2017-03-01",20.,'Nan'],
  ["2017-04-01",30.,'Nan'],
  ["2017-05-01",40.,'Nan']],
  index=['r1','r2','r3','r4'],
  columns=['c1','c2','c3']
  )
df

###########################
     c1           c2    c3
r1  2017-02-01  10.0    100
r2  2017-03-01  20.0    Nan
r3  2017-04-01  30.0    Nan
r4  2017-05-01  40.0    Nan

Что мне делать?

1 Ответ

0 голосов
/ 10 мая 2019

Один из вариантов - использовать

df.loc[(df['c1'] == '2017-04-01'), ['column_you_need_to_change']] = 1.

В приведенной выше строке найдены все строки, столбец c1 которых имеет значение '2017-04-01', а значения нужных столбцов (столбцов) заменены на число., в приведенном выше случае 1.

Надеюсь, это поможет.

...