Найти значение в строке и обновить другую строку - PullRequest
0 голосов
/ 15 сентября 2018

Я работаю с набором данных, который имеет столбец времени.Я хочу выяснить, существует или нет определенное время '14:26:00', и обновить строку values меткой, скажем, 1, если это время существует или нет.Сейчас существует около 3500 образцов данных, сгенерированных за 30 секунд, поэтому эффективный способ с минимальным кодом был бы желателен.

Вот то, что я пробовал, немного отличающиеся версии кода и некоторые другие, которые имеютне работал.

df = pd.read_csv('file.csv')

df.loc[df['time'].str.contains('14:26:00'), 'value' = "1"]



Data Sample [ file.csv ]
  cOne, cTwo, cThree, cFour, cFive, cSix, cSeven, time
0, 5.73, 33.17, 6.49, 8.09, 0.000, 0.000, 0.000, 09:48:32.798
1, 8.75, 223.76, 3.77, 11.83, 0.000, 0.000, 0.000, 09:48:32.799
2, 2.09, 73.88, -3.89, 10.23, 0.000, 0.000, 0.000, 09:48:32.800
3, 3.38, -114.34, 7.84, 12.79, 0.000, 0.000, 0.000, 09:48:32.827
4, 1.46, -97.70, 9.72, 7.68, 0.000, 0.000, 0.000, 09:48:32.828
5, 5.22, -39.64, 9.90, 11.69, 0.000, 0.000, 0.000, 09:48:32.829
6, 4.85, -72.94, -0.88, 7.55, 0.000, 0.000, 0.000, 09:48:32.830
7, 2.82, 16.36, -9.63, 8.98, 0.000, 0.000, 0.000, 09:48:32.857
8, 1.15, 77.99, 10.60, 10.34, 0.000, 0.000, 0.000, 09:48:32.857
9, 5.24, 35.94, 3.32, 8.07, 0.000, 0.000, 0.000, 09:48:32.859
10, -2.77, 49.23, 6.48, 4.68, 0.000, 0.000, 0.000, 09:48:32.859

1 Ответ

0 голосов
/ 15 сентября 2018

в расширении вашего кода дают astype int, логические значения могут преобразовываться в int

         date
0   2016-02-08 12:26:00
1   2016-02-08 12:56:00
2   2016-02-08 13:26:00
3   2016-02-08 13:56:00
4   2016-02-08 14:26:00
5   2016-02-08 14:56:00

df.date.astype(str).str.contains('14:26:00').astype(int)

Из:

0     0
1     0
2     0
3     0
4     1
5     0

условие "if" для присвоения другого значения

df.date.apply(lambda x:'value' if '14:26:00' in str(x) else 'some')

0      some
1      some
2      some
3      some
4     value
5      some
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...