1.Value_counts
在数据统计的时候我们经常会用到value_counts模块;
一般value_counts用于对Series的数据频率分析
例如:
df = pd.DataFrame({'区域' : ['西安', '太原', '西安', '太原', '郑州', '太原'],
'10月份销售' : ['0.477468', '0.195046', '0.015964', '0.259654', '0.856412', '0.259644'],
'9月份销售' : ['0.347705', '0.151220', '0.895599', '0236547', '0.569841', '0.254784']})
统计每个区域出现多少次:
df['区域'].value_counts()
默认从高到低排序
如果想升序排列,设置参数 ascending = True:
df['区域'].value_counts(ascending = True)
如果想得出计数占比,可以加参数 normalize=True:
df['区域'].value_counts(normalize = True)
注:空值默认剔除掉的。value_counts()返回的结果是一个Series数组,可以跟别的数组进行计算。
2.Pandas索引:.loc \ .iloc
data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]},index=["a","b","c"])
A B C
a 1 4 7
b 2 5 8
c 3 6 9
- 使用 .loc 索引,若我们选择数字5:
data.loc['b','B']
.loc的索引规则是:利用行名和列名索引
若我们想选择 5、8、6、9
data.loc['b':'c','B''C']
行和列用 ,(逗号)分隔开
- 使用.iloc索引,我们还是选择数字5
data.iloc[1,1]
.iloc的索引规则是按照第几行,第几列来索引的,其中5在第一行,第一列所以为(1,1)
若我们想选择 5、8、6、9
data.iloc[1:3,1:3]
行和列用逗号隔开,且索引序号左闭右开。即1:3(从1开始到2结束)
3.np.linspace()用法解释
.linspace是numpy的模块但是在数据分析里面也算常用
它主要是用来生成等差数列的函数;
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
从start到stop,num为元素个数,生成50(默认)个等距离的数
>>>numpy.linspace(1,10)
#out:
>[ 1. 1.18367347 1.36734694 1.55102041 1.73469388
1.91836735 2.10204082 2.28571429 2.46938776 2.65306122
2.83673469 3.02040816 3.20408163 3.3877551 3.57142857
3.75510204 3.93877551 4.12244898 4.30612245 4.48979592
4.67346939 4.85714286 5.04081633 5.2244898 5.40816327
5.59183673 5.7755102 5.95918367 6.14285714 6.32653061
6.51020408 6.69387755 6.87755102 7.06122449 7.24489796
7.42857143 7.6122449 7.79591837 7.97959184 8.16326531
8.34693878 8.53061224 8.71428571 8.89795918 9.08163265
9.26530612 9.44897959 9.63265306 9.81632653 10. ]