import pandas as pd
1、
d1 = {
‘城市’:[‘北京’,‘上海’,‘广州’,‘深圳’,‘沈阳’],
‘环比’:[101.5,101.2,101.3,102.0,100.1],
‘同比’:[120.5,127.2,119.3,140.0,101.1],
‘定基’:[121.5,127.2,120.3,145.0,101.1]}
d = pd.DataFrame(d1, index = [‘c1’,‘c2’,‘c3’,‘c4’,‘c5’])
print(d)
2、改变行索引:
d = d.reindex(index = [‘c5’,‘c4’,‘c3’,‘c2’,‘c1’])
print(d)
3、改变列索引:
d = d.reindex(columns = [‘城市’,‘同比’,‘环比’,‘定基’])
print(d)
4、重新索引:
新增第四列索引,取名为:新增,值赋为:200
newc = d.columns.insert(4, ‘新增’)
newd = d.reindex(columns = newc, fill_value = 200)
print(newd)
5、索引类型:
print(d.index)
print(d.columns)
6、索引类型的使用方法:
实例:
nc = d.columns.delete(2) #删除第二列索引
ni = d.index.insert(5,‘c0’)#增加第五列c0索引
nd = d.reindex(index = ni, columns = nc).ffill()
print(nd)
7、数据运算
生成34和45的数据:
import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(12).reshape(3,4))
print(a)
b = pd.DataFrame(np.arange(20).reshape(4,5))
print(b)
a + b
数据维度相同的进行计算,数据维度不同的为空:
print(a + b)
print(a*b)
#a + b 不对齐的部分用100填充
print(b.add(a, fill_value = 100))
print(a.add(b, fill_value = 100))
a * b 不对其的部分用0填充
print(a.mul(b, fill_value = 0))
print(b.mul(a, fill_value = 0))
8、数据类型的比较算法:(同维度运算,尺寸一致)
广播运算:是指两个数组进行运算,一个是Series数组(即一维数组),另一个是DataFrame数组(多维数组)。
即 一维数组看成是一行
分别与多维数组的每一行进行运算。
需要注意的是,如果一维数组过短,结果每行的长度以最大值为准,超过的部分空值,即NaN。
import pandas as pd
import numpy as np
a = pd.DataFrame(np.arange(12).reshape(3,4))
b = pd.DataFrame(np.arange(12,0,-1).reshape(3,4))
print(a > b)
print(c > 0)
9、排序
import pandas as pd
import numpy as np
b = pd.DataFrame(np.arange(20).reshape(4,5), index = [‘c’,‘a’,‘d’,‘b’])
c = b.sort_values(2, ascending = False)# 第二列进行了排列 降序排列
print©
c = c.sort_values(‘a’, axis = 1, ascending=False) #对a轴进行降序排列
print©
10、基本的统计分析函数
import pandas as pd
a = pd.Series([9,8,7,6], index = [‘a’,‘b’,‘c’,‘d’])
b = pd.DataFrame(np.arange(20).reshape(4,5), index = [‘a’,‘b’,‘c’,‘d’])
print(a)
print(a.describe())
print(a.describe()[‘count’])
print(a.describe()[‘max’])
import pandas as pd
import numpy as np
a = pd.Series([9,8,7,6], index = [‘a’,‘b’,‘c’,‘d’])
b = pd.DataFrame(np.arange(20).reshape(4,5), index = [‘a’,‘b’,‘c’,‘d’])
print(b)
print(b.describe())
print(b.describe().loc[‘max’])#获取最大值的那一列 ,xi 替换成了 loc
print(b.describe()[2])#获取第二列的统计信息