运行结果如图3-27所示 。
文章插图
▲图3-27
可以看到 , 使用loc的时候 , x索引和y索引都必须是标签值 。对于这个例子 , 使用日期索引明显不方便 , 需要输入较长的字符串 , 所以使用绝对位置会更好 。这里可以使用混合方法 , DataFrame可以使用ix来进行混合索引 。比如 , 行索引使用绝对位置 , 列索引使用标签 , 代码如下:
df.ix[1,'E'] = 3df
运行结果如图3-28所示 。文章插图
▲图3-28
ix的处理方式是 , 对于整数 , 先假设为标签索引 , 并进行寻找;如果找不到 , 就作为绝对位置索引进行寻找 。所以运行效率上会稍差一些 , 但好处是这样操作比较方便 。
对于ix的用法 , 需要注意如下两点 。
- 假如索引本身就是整数类型 , 那么ix只会使用标签索引 , 而不会使用位置索引 , 即使没能在索引中找到相应的值(这个时候会报错) 。
- 如果索引既有整数类型 , 也有其他类型(比如字符串) , 那么ix对于整数会直接使用位置索引 , 但对于其他类型(比如字符串)则会使用标签索引 。
02 SeriesSeries类似于一维数组 , 由一组数据以及相关的数据标签(索引)组成 。示例代码如下:
import pandas as pds=pd.Series([1,4,6,2,3])s
Out:0 11 42 63 24 3
在这段代码中 , 我们首先导入pandas并命名为pd , 然后向Series函数传入一个列表 , 生成一个Series对象 。在输出Series对象的时候 , 左边一列是索引 , 右边一列是值 。由于没有指定索引 , 因此会自动创建0到(N-1)的整数索引 。也可以通过Series的values和index属性获取其值和索引 。示例代码如下:s.values
Out:array([1, 4, 6, 2, 3], dtype=int64)
s.index
Out:Int64Index([0, 1, 2, 3, 4], dtype='int64')
当然 , 我们也可以对索引进行定义 , 代码如下:s=pd.Series([1,2,3,4],index=['a','b','c','d'])s
Out:a 1b 2c 3d 4
在这里 , 我们将索引定义为a、b、c、d 。这时也可以用索引来选取Series的数据 , 代码如下:s['a']
【Pandas最详细教程来了】Out:1
s[['b','c']]
Out:b 2c 3
对Series进行数据运算的时候也会保留索引 。示例代码如下:s[s>1]
Out:b 2c 3d 4
s*3
Out:a 3b 6c 9d 12
Series最重要的功能之一是在不同索引中对齐数据 。示例代码如下:s1=pd.Series([1,2,3],index=['a','b','c'])s2=pd.Series([4,5,6],index=['b','c','d'])s1+s2
Out:a NaNb 6c 8d NaN
Series的索引可以通过赋值的方式直接修改 , 示例代码如下:s.index
Out:Index([u'a', u'b', u'c', u'd'], dtype='object')
s.index=['w','x','y','z']s.index
Out:Index([u'w', u'x', u'y', u'z'], dtype='object')
s
Out:w 1x 2y 3z 4
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 世界上跳的最高的昆虫是什么 什么动物是世界上跳得最高的
- 世界上最长的水母 世界上最小的水母是什么水母
- 最早的灵长类动物 人是灵长类动物
- 世界上谁的尾巴最长动物 马的尾巴大约长多少厘米
- 海底最深的地方有什么怪物 隐藏海底的怪物
- 最毒的蚂蚁是哪种 世界上最毒的蚂蚁是什么蚂蚁
- 女人喝什么茶最养生,女人喝什么美容养颜
- 世界上寿命最长的海洋动物是 牛的最长寿命是多少岁
- 经科学家测试,流星体运动的最大速度 天文学家发现了一颗太阳系外行星
- 世界上已发现的矿物有近几种 地球上最古老的矿物是