一、Pandas库的数据类型操作
(1)如何改变Series和DataFram对象
如何改变他们两的结构?这个结构指的是增加或重排他们的索引,或者删掉其中的部分值
对于其我们有两种方法:
增加或重排:重新索引
删除:drop
1.重新索引
重新索引我们对应的是.reindex()方法
.reindex()能够改变或重排Series和DataFrame索引
例:
import pandas as pd
d1 = {"城市":['北京','上海','广州','深圳','沈阳'],
"环比":[101.5,101.2,101.3,102.0,100.1],
"同比":[120.7,107.3,119.4,140.9,101.4],
"定基":[121.4,127.8,120.0,145.5,101.6]}
d=pd.DataFrame(d1,index=['C1','C2','C3','C4','C5'])
d =d.reindex(index=['C5','C4','C3','C2','C1'])
d =d.reindex(columns=["城市","同比","定基","环比"])
print(d)
.reindex的其他属性
newc = d.columns.insert(4,"新增")
newd = d.reindex(columns = newc,fill_values = 200)
索引类型
Series
和
DataFrame
的索引是
Index
类型
Index
对象是不可修改类型
索引类型的常用方法
例 :
nc = d.columns.delete(2) #返回d对应的1轴上对应的元素 .delete(2)将第二个位置删掉
ni = d.index.insert(5,'c0') #获得0轴上的索引 .insert 在第五个位置上新增一个索引 c0
nd = d.reindex(index=ni,columns = nc,method='ffill') # method 指向前填充
nd #获得一个新的对象
结果:
2.删除:drop
.drop()
能够删除
Series
和
DataFrame
指定行或列索引
例:
a=pd.Series([9,8,7,6],index=['a','b','c','d'])
a.drop(['b','c'])
print(a)
结果:
二、Pandas库的数据类型运算
(1).算数运算法则
算术运算根据行列索引,补齐后运算,运算默认产生浮点数
补齐时缺项填充
NaN (
空值
)
二维和一维、一维和零维间为广播运算
采用
+ ‐ * /
符号进行的二元运算产生新的对象
例:
import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(12).reshape(3,4))
b = pd.DataFrame(np.arange(20).reshape(4,5))
print(a)
print(b)
结果:
我们还可以运用一些方法形式的运算
例:
维度不同时 的运算
c = pd.Series(np.arange(4))
底维的会作用给高维的每一个元素上
可以用axis来改变默认的运算
(2)比较运算法则
比较运算只能比较相同索引的元素,不进行补齐
二维和一维、一维和零维间为广播运算
采用
> < >= <= == !=
等符号进行的二元运算产生布尔对象
![](https://img-blog.csdnimg.cn/ac8ef19608e5486faab879c71ca646f5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAeeeahOeMqw==,size_20,color_FFFFFF,t_70,g_se,x_16)
总结 :