чтение файла CSV в пандах и получение значения - PullRequest
0 голосов
/ 15 октября 2018

У меня есть CSV-файл с названием места, баллом A и баллом B, я хочу получить значения баллов A и Score B каждого места.С помощью панд я читаю csv и сохраняю их в DF, как показано ниже

import pandas as pd
csvdf = pd.read_csv("E:\redsa.csv")
print(csvdf)

Я получаю следующий вывод

          Place     ScoreA   ScoreB
0         Place 1   108       775
1         Place 2   109       781

Я хочу получить значения A и Bдля каждого места и сохранить их в отдельных переменных, и я попробовал ниже для этого

for row in csvdf.iterrows():
    print(csvdf['ScoreA'],csvdf['ScoreB'])

Я получаю ниже вывод

0    108
1    109
Name: ScoreA, dtype: float64 0    775
1    781
Name: ScoreB, dtype: float64
0    108
1    109
Name: ScoreA, dtype: float64 0    775
1    781
Name: ScoreB, dtype: float64

Я хочу перебрать каждое место и получить ScoreA иScoreB и сохраните их в соответствующих переменных, как я могу это сделать

1 Ответ

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

Я считаю, что вам нужно apply с axis=1 для цикла по строкам, потому что iterrows лучше всего избегать из-за низкой производительности , если возможно:

def func(x):
    print (x['ScoreA'])
    print (x['ScoreB'])

    #code
    return x

df = csvdf.apply(func, axis=1)
print (df)

Вы можете создать индекс из первого Place столбца по параметру index_col в read_csv, а затем выбрать столбцы - на выходе будет Series:

csvdf = pd.read_csv("E:\redsa.csv", index_col=[0])

print (csvdf['ScoreA'])
Place
Place 1    108
Place 2    109
Name: ScoreA, dtype: int64

print (csvdf['ScoreB'])
Place
Place 1    775
Place 2    781
Name: ScoreB, dtype: int64

Или выберите по подмножествам - вывод в 2 столбца DataFrame:

csvdf = pd.read_csv("E:\redsa.csv")

print (csvdf[['Place','ScoreA']])
     Place  ScoreA
0  Place 1     108
1  Place 2     109

print (csvdf[['Place','ScoreB']])
     Place  ScoreB
0  Place 1     775
1  Place 2     781
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...