博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pandas 行列操作
阅读量:4211 次
发布时间:2019-05-26

本文共 1928 字,大约阅读时间需要 6 分钟。

行选择

不管何时,你调用了一个方法返回或者打印一个DataFrame时,最左边的一列必然是索引值,可以通过index属性来直接访问DataFrame的索引值。

import pandas as pddf1=pd.DataFrame({
'name':['kate','herz','catherine','sally'], 'age':[25,28,39,35]})df2=pd.DataFrame({
'name':['kate','herz','sally'], 'score':[70,60,90]})df=pd.merge(df1,df2,on="name")print(df)print("index:",df.index)

输出:

age   name  score0   25   kate     701   28   herz     602   35  sally     90index: Int64Index([0, 1, 2], dtype='int64')

在Series中,每一个索引都对应着一个值,在DataFrame中,每一个索引则对应着一行的数据,可以通过几种方法来选择多数据。

import pandas as pddf1=pd.DataFrame({
'name':['kate','herz','catherine','sally'], 'age':[25,28,39,35]})df2=pd.DataFrame({
'name':['kate','herz','sally'], 'score':[70,60,90]})df=pd.merge(df1,df2,on="name")print(df)#选择前2行print("0-2\n",df[0:2])#选择索引为2 的行print("2:\n",df.loc[2])#选择索引为0,2 的行print(df.loc[[0,2]])

输出:

age   name  score0   25   kate     701   28   herz     602   35  sally     900-2    age  name  score0   25  kate     701   28  herz     602: age         35name     sallyscore       90Name: 2, dtype: object   age   name  score0   25   kate     702   35  sally     90

注意:loc[]与iloc[]方法之间还有一个巨大的差别,那就是loc[]里的参数是对应的索引值即可,所以参数可以是整数,也可以是字符串。而iloc[]里的参数表示的是第几行的数据,所以只能是整数。可以参考:

自定义索引

Pandas可以使用某一列来重新自定义DataFrame的索引,通过set_index()方法来实现,该方法主要有两个参数:

  • inplace,如果设置为True就不会返回一个新的DataFrame,而是直接修改该DataFrame
  • drop,如果设置为True,就会移出掉该列的数据
import pandas as pddf1=pd.DataFrame({
'name':['kate','herz','catherine','sally'], 'age':[25,28,39,35]})df2=pd.DataFrame({
'name':['kate','herz','sally'], 'score':[70,60,90]})df=pd.merge(df1,df2,on="name")print(df)df3=df.set_index('name', inplace=False, drop=False)print(df3)

结果:

age   name  score0   25   kate     701   28   herz     602   35  sally     90       age   name  scorename                    kate    25   kate     70herz    28   herz     60sally   35  sally     90

转载地址:http://pggli.baihongyu.com/

你可能感兴趣的文章
趣链 BitXHub跨链平台 (4)跨链网关“初介绍”
查看>>
C++ 字符串string操作
查看>>
MySQL必知必会 -- 了解SQL和MySQL
查看>>
MySQL必知必会 -- 使用MySQL
查看>>
MySQL必知必会 -- 数据检索
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
MySQL必知必会 -- 数据过滤
查看>>
MYSQL必知必会 -- 用通配符进行过滤
查看>>
MYSQL必知必会 -- 用正则表达式进行搜索
查看>>
MySQL必知必会 -- 创建计算字段
查看>>
MySQL必知必会 -- 使用数据处理函数
查看>>
MySQL必知必会 -- 数据汇总
查看>>
MySQL必知必会 -- 子查询的使用
查看>>
POJ 3087 解题报告
查看>>
POJ 2536 解题报告
查看>>
POJ 1154 解题报告
查看>>
POJ 1661 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>
ACM经历总结[转载]
查看>>