Python 从数据帧读取数据
我使用以下代码从CSV文件中读取一列Python 从数据帧读取数据,python,pandas,Python,Pandas,我使用以下代码从CSV文件中读取一列 data = pd.read_csv("filename",usecols=[6], header=None ,delimiter=' ') 然后 for index, row in data.iterrows(): print index ,row 它打印了全部信息 100246140720848950920名称:10024,数据类型:int64 我只想要价值 140720848950920 我需要做的您可以通过参数squere=True创建系列: s
data = pd.read_csv("filename",usecols=[6], header=None ,delimiter=' ')
然后
for index, row in data.iterrows():
print index ,row
它打印了全部信息100246140720848950920
名称:10024,数据类型:int64 我只想要价值 140720848950920
我需要做的您可以通过参数
squere=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
要比较两列并筛选相同的行,请使用:
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
似乎它读取了整个文件是否需要
数据。iat[0,-1]
?@DileeshDil-对我来说,它工作得很好,但添加了iloc
或iat
的替代选项,请检查编辑后的答案。@DileeshDil-可能还存在分隔符sep='\s+'
的问题,但是没有数据很难知道。实际上我想比较两行中的值。只是打印不是我的意图。像当前项和next()@DileeshDil-I编辑答案一样,需要什么作为输出?熊猫最好的方法是避免循环,所以添加矢量化的非循环解决方案,这非常快
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
for index, row in data.iterrows():
print index ,row[6]