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

У меня есть датафрейм с несколькими столбцами.Мне нужно пометить значение от 4-го до 8-го в столбце 2, указывая, что эти последовательные строки имеют значения, равные 0,1

ID           Column2      Column3
1              2.6            9
2              1.9            7
3              4.7            5
4              0.1            8     
5              0.1            6
6              0.1            2
7              0.1            8
8              0.1            7
9              3.0            4
10             1.2            9
11             2.8            7
12             3.1            9
13             1.0            3
14             2.4            4
15             3.2            5
n             nth value      nth value

Я использовал следующий код, и он дал мне TypeError.Может кто-нибудь помочь, пожалуйста?

Код:

import pandas as pd
df = pd.read_csv('file.csv')

for row, index in df_May.iterrows():
    if row['Column2'] == row['Column2'].shift(1) | row['Column2'] == 0.1:
        print index,row

TypeError: 'int' object has no attribute '__getitem__'

1 Ответ

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

Вам нужно:

df.loc[(df['Column2'].diff()==0) | (df['Column2'].diff(-1)==0)]

Вывод:

    ID  Column2 Column3
3   4   0.1       8
4   5   0.1       6
5   6   0.1       2
6   7   0.1       8
7   8   0.1       7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...