чтение файла CSV в пандах и получение значения

1

У меня есть файл csv с именем места, оценка A и оценка B, я хочу вывести значения A и Sc B в каждом месте. С помощью pandas я читаю 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 и хранить их в соответствующих переменных, как я могу это сделать

Теги:
pandas

1 ответ

1
Лучший ответ

Я считаю, что вам нужно 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
  • 0
    как я могу перебрать их и получить все значения по одному
  • 0
    @foret - я думаю, что первое решение с apply сделает это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню