Имеется мой фрейм данных. У меня есть столбец «Операция», что значения в этих столбцах определяют циклы. Например, операция = 4 определяет начало цикла с длительностью 1, а операция = 9 - это конец этого цикла. И так далее для петель A2 и A3. Как я могу вставлять значения и добавлять новые столбцы при необходимости A1, A2, A3 и т. Д. С большим количеством циклов, определенных начальными и конечными операциями. Просто подчеркнуть, что в случае перекрытия хотелось бы создать новый столбец или добавить в существующий следующий столбец, если он уже существует. Спасибо за помощьpandas как получить индекс строки по значению столбца данных значение
1
A
ответ
0
UPDATE:
In [136]: df
Out[136]:
a b c operation
0 8 7 5 1
1 3 1 0 2
2 5 4 0 3
3 9 7 7 4
4 4 6 8 5
5 7 8 0 6
6 1 8 8 7
7 0 9 0 8
8 9 9 7 9
9 0 7 3 10
In [137]: df['A1'] = ''
In [138]: df.ix[(df.index >= df[df.operation == 4].index.tolist()) & \
.....: (df.index <= df[df.operation == 9].index.tolist()), 'A1'] = 1
In [139]:
In [139]:
In [139]: df['A2'] = ''
In [140]: df.ix[(df.index >= df[df.operation == 2].index.tolist()) & \
.....: (df.index <= df[df.operation == 7].index.tolist()), 'A2'] = 2
In [141]: df
Out[141]:
a b c operation A1 A2
0 8 7 5 1
1 3 1 0 2 2
2 5 4 0 3 2
3 9 7 7 4 1 2
4 4 6 8 5 1 2
5 7 8 0 6 1 2
6 1 8 8 7 1 2
7 0 9 0 8 1
8 9 9 7 9 1
9 0 7 3 10
OLD Ответ:
In [93]: df
Out[93]:
a b c OPERATION
0 1 1 0 op2
1 1 5 6 op2
2 7 7 2 START
3 1 6 2 op2
4 7 7 4 op2
5 3 2 0 op2
6 6 9 9 op1
7 6 1 4 END
8 5 3 6 op1
9 9 2 9 op3
In [94]: df[(df.index >= df[df.OPERATION == 'START'].index.tolist()) & \
....: (df.index <= df[df.OPERATION == 'END'].index.tolist())]
Out[94]:
a b c OPERATION
2 7 7 2 START
3 1 6 2 op2
4 7 7 4 op2
5 3 2 0 op2
6 6 9 9 op1
7 6 1 4 END
Объяснение:
In [53]: df.OPERATION == 'START'
Out[53]:
0 False
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 False
9 False
Name: OPERATION, dtype: bool
In [54]: df[df.OPERATION == 'START'].index.tolist()
Out[54]: [2]
In [55]: df.index >= df[df.OPERATION == 'START'].index.tolist()
Out[55]: array([False, False, True, True, True, True, True, True, True, True], dtype=bool)
Смежные вопросы
- 1. Как получить индекс строки jqgrid по некоторому значению столбца?
- 2. Оценка Pandas по значению столбца
- 3. Получить индекс по значению
- 4. Получить индекс строки по значению в колонке
- 5. Группировка данных по значению столбца
- 6. Репликация строк в кадре данных pandas по значению столбца
- 7. Получить индекс строки по столбцу в DataGridView
- 8. Как получить индекс конкретного DataRow по его значению столбца
- 9. Pandas split DataFrame по значению столбца
- 10. Pandas matplotlib.pyplot добавить легенду по значению столбца
- 11. Как обновить значение столбца строки по ключевому значению в data.table?
- 12. Как выбрать значения из pandas dataframe по значению столбца
- 13. Строки групп по значению столбца
- 14. Pandas: Как получить доступ к значению индекса
- 15. Получить индекс массива по значению
- 16. Pandas: получить индекс удаленной строки
- 17. Кадр данных группы Pandas и сортировка по значению столбца
- 18. Как ускорить выбор строки по значению столбца для большого массива данных Pandas
- 19. индексирование значение столбца по значению строки с пандами
- 20. Удаление строки по значению столбца SQL Server
- 21. Как игнорировать часть строки по значению столбца
- 22. Получить индекс массива по значению Max?
- 23. Python Панда: Получить индекс строк, который соответствует определенному значению столбца
- 24. В SQL как получить родительское значение по значению столбца
- 25. Получить индекс элемента массива по значению
- 26. Как получить столбец Индекс по имени столбца?
- 27. Enum индекс по значению
- 28. Вычислить значение столбца по значению подколонки
- 29. MATLAB найти индекс строки и столбца, ближайший к указанному значению
- 30. Как искать кадр данных pandas по значению индекса и значению в любом столбце
Большое спасибо. Поэтому, если я хотел бы добавить в новый столбец «A» значение x между START и END, как я могу это сделать? Спасибо – Felix
@Felix, я не понимаю, какую ценность вы хотите поместить в новый столбец. и что относительно _other_ строк? Или вы хотите иметь еще одну копию вашего DF со строками между START и END? Не могли бы вы обновить свой вопрос с помощью типового набора входных данных (5-7 строк в формате текста/CSV/dict/JSO/pickle) и разместить нужный вывод? – MaxU
@ Феликс, я обновил свой ответ - пожалуйста, проверьте – MaxU