pandas数据处理

1.y.iloc[1] #提取第一行
y.iloc[2,1]#第二行第一列
y.iloc[2:4,1]#第2、3行,第一列
y.loc[1]#提取第一行
y.iloc[:,1]#提取第一列

dataframe 取列有两种方法: df.列名 或 df[‘列名’] ;
同时通过,df[‘列名1’,‘列名2’ ,。。。。] 可以选择多列。

dataframe取行和列:
通过loc类和iloc类 可以选择dataframe数据的多行和多列。
其中loc类通过“标签”进行列的选择, iloc类通过索引(位置)选择对象。 形象记忆,iloc比loc多了一个i, i 可以看作index.

#运行成功,因为header=None时列名自动从0开始编号
y=pd.read_csv(r'附件1新新.csv',header=None)
y=y.loc[:,1] #这里的1指的是列名,不是列索引
print(y)

#运行出错
y=pd.read_csv(r'附件1新新.csv')
y=y.loc[:,1] #此时没有列名为1的列,所以运行出错
print(y)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.pandas读取数据默认把第一行数据当作列名了,如果这不是我们想要的,则要加一个参数header=None,此时默认给出列名为0,1,2,3…
(默认情况下是header=0,表示把第一行作为列名,header=k:从第k行开始读取,并以第k行作为列名):

dating_df = pd.read_csv('datingTestSet2.txt',header=None)

如果想要改变列名,可以自行指定

dating_df = pd.read_csv('datingTestSet2.txt',sep='\t',header=None,names=['fly','game','ice_cream'])

结果如下
在这里插入图片描述

3.以行遍历df:
for index, row in df.iterrows():
(index=0,1,2,…)
DataFrame.iterrows() 的作用是将 dataframe 的每行转换成为一个 Series,可以理解为针对于每一行,做了
行列转置。
在这里插入图片描述

取前2行的数据:data[0:2]
columns = df.columns.values.tolist()
print data.columns #列索引名称
print data.index #行索引名称
print’+++++++++++++’

print data.ix[1] #取第2行数据
print data.iloc[1] #取第2行数据
print’+++++++++++++’

print data[‘x’] #取列索引为x的一列数据
print data.loc[‘A’] #取第行索引为”A“的一行数据,
print’+++++++++++++’

print data.loc[:,[‘x’,‘z’] ] #表示选取所有的行以及columns为a,b的列;
print data.loc[[‘A’,‘B’],[‘x’,‘z’]] #表示选取’A’和’B’这两行以及columns为x,z的列的并集;
print’+++++++++++++’

print data.iloc[1:3,1:3] #数据切片操作,切连续的数据块
print data.iloc[[0,2],[1,2]] #即可以自由选取行位置,和列位置对应的数据,切零散的数据块
print’+++++++++++++’

print data[data>2] #表示选取数据集中大于0的数据
print data[data.x>5] #表示选取数据集中x这一列大于5的所有的行
print’+++++++++++++’
a1=data.copy()
print a1[a1[‘y’].isin([‘6’,‘10’])] #表显示满足条件:列y中的值包含’6’,'8’的所有行。
print data.mean() #默认对每一列的数据求平均值;若加上参数a.mean(1)则对每一行求平均值;
print data[‘x’].value_counts() #统计某一列x中各个值出现的次数:
print data.describe() #对每一列数据进行统计,包括计数,均值,std,各个分位数等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值