Чтение с Pandas Dataframe - PullRequest
0 голосов
/ 10 мая 2018

Я использовал следующий код для чтения одного столбца из файла CSV

data = pd.read_csv("filename",usecols=[6], header=None ,delimiter=' ')

, а затем

for index, row in data.iterrows():
print index ,row

Он напечатал всю информацию.

10024 6 140720848950920
Имя: 10024, тип d: int64

Я просто хочу значение

140720848950920

что мне нужно сделать

Ответы [ 2 ]

0 голосов
/ 10 мая 2018
for index, row in data.iterrows():
    print index ,row[6]

Кажется, что он прочитал весь файл

0 голосов
/ 10 мая 2018

Вы можете создать Series с помощью параметра squeeze=True:

s= pd.read_csv("filename",usecols=[6], header=None , sep='\s+', squeeze=True)

И затем выполнить цикл:

for index, row in s.items():
    print index ,row

Или выбрать первое значение одного столбца DataFrame:

data = pd.read_csv("filename",usecols=[6], header=None , sep='\s+')

for index, row in data.iterrows():
   print index ,row[0]

Образец :

import pandas as pd

temp=u"""aa ss dd
fff ff gg
rr t t
y er u"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
data = pd.read_csv(pd.compat.StringIO(temp), sep='\s+', usecols=[2])
print (data) 
   dd
0  gg
1   t
2   u

for index, row in data.iterrows():
    print (index)
    print ('---')
    print (row[0])
    print (row.iat[0])
    print (row.iloc[0])

0
---
gg
gg
gg
1
---
t
t
t
2
---
u
u
u

Для сравнения 2 столбцов и фильтрации одинаковых строк используйте:

import pandas as pd

temp=u"""A B C
fff ff gg
rr t t
y er u"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
data = pd.read_csv(pd.compat.StringIO(temp), sep='\s+')
print (data) 
     A   B   C
0  fff  ff  gg
1   rr   t   t
2    y  er   u

data = data[data['B'] == data['C']]
print (data)
    A  B  C
1  rr  t  t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...