Разбор данных с помощью цикла с тем же именем - PullRequest
0 голосов
/ 27 февраля 2019

Попытка сделать тот же анализ из файла CSV.

1  Xe   Xe   Xe   Xe   Xe    Zi   Zi   Zi   Zi    Zi
2  A    B    C    D    WOW   E    F    G    L    WOW
3
4
5                      data                     data2
6

пытается разобрать "данные по индексу 5 и столбцу WOW. Поэтому я попытался

df = pd.read_csv("wow.csv", index_col=0, header=1)

data = df.loc[5, 'WOW']

, это на самом деле работает, но просто дает мне данные первого WOW, а не второго или третьего ..Как я могу зациклить и взять все данные WOW?

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Я на 95% уверен, что данные из вашего второго и третьего столбцов WOW были потеряны, как только вы прочитали их в свой DataFrame.

Pandas read_table с повторяющимися именами

https://github.com/pandas-dev/pandas/issues/9424

Вам нужно найти другой способ чтения в файле ...

РЕДАКТИРОВАТЬ

Людипродолжайте публиковать решения о том, как найти данные, когда WOW является частью данных столбца , но код OP включает header=1 в pd.read_csv, поэтому проблема заключается в том, что WOW становится столбцоминдекс .Вы не можете иметь два столбца с одинаковым индексом.Я бы прокомментировал это на постах, если бы только у меня было достаточно очков репутации, чтобы сделать это ...

РЕДАКТИРОВАТЬ 2

Хорошо, это был мозговой спазм, междуу нас был полный ответ: решение проблемы OP: 1) избавиться от header=1 в вызове pd.read_csv, т.е. вытащить эти WOW из заголовка столбца, а затем 2) использовать решение, опубликованное @ Wen-Бен, который сработает после внесения этой модификации.

0 голосов
/ 27 февраля 2019

Использование df.loc

df.loc[5,df.loc[2]=='WOW']
0 голосов
/ 27 февраля 2019
from pandas import DataFrame, read_csv
import pandas as pd

file = 'a.csv'
df = pd.read_csv(file)
for data in df.iterrows():
    print(data)

a.csv

Names,Highscore
Mel,8
Jack,5
David,3
Peter,6
Maria,5
Ryan,9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...