import numpy as np
import pandas as pd
numpy:一维数组
a=np.array([1,2,3,4,5])
print(a[0])#查询
print(a[1:3])#切片
for i in a:
print(i)#循环访问
print(a.dtype)#数据类型
c=a+1
print(c)#向量化运算
1
[2 3]
1
2
3
4
5
int32
[2 3 4 5 6]
pandas:一维数组
barca=pd.Series([11,10,9,],index=['neymar','messi','suarez'])
print(barca)
neymar 11
messi 10
suarez 9
dtype: int64
barca.describe()
count 3.0
mean 10.0
std 1.0
min 9.0
25% 9.5
50% 10.0
75% 10.5
max 11.0
dtype: float64
barca.iloc[0]
11
barca.loc['messi']
10
s1 = pd.Series([1,2,3,4],index = ['a','b','c','d'])
s2 = pd.Series([10,20,30,40],index = ['a','b','e','f'] )
s3 = s1 + s2
print(s3)
a 11.0
b 22.0
c NaN
d NaN
e NaN
f NaN
dtype: float64
numpy二维数组
a = np.array([
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
])
print(a[0,3])#第一行,第四列
print(a[:,3])#第四列
print(a[0,:])#第一行
4
[ 4 8 12]
[1 2 3 4]
print(a.mean(axis=1))#计算每一行
print(a.mean(axis=0))#计算每一列
[ 2.5 6.5 10.5]
[5. 6. 7. 8.]
pandas二维数组
sales= {
'购药时间':['2018-01-01 星期五','2018-01-02 星期六','2018-01-06 星期三'],
'社保卡号':['001616528','001616528','0012602828'],
'商品编码':[236701,236701,236701],
'商品名称':['强力VC银翘片','清热解毒口服液','感康'],
'销售数量':[6,1,2],
'应收金额':[82.8,28,16.8],
'实收金额':[69,24.64,15]
}
from collections import OrderedDict #有序字典
salesOrderedDict=OrderedDict(sales)
salesDf = pd.DataFrame(salesOrderedDict)
salesDf
| 购药时间 | 社保卡号 | 商品编码 | 商品名称 | 销售数量 | 应收金额 | 实收金额 | |
|---|---|---|---|---|---|---|---|
| 0 | 2018-01-01 星期五 | 001616528 | 236701 | 强力VC银翘片 | 6 | 82.8 | 69.00 |
| 1 | 2018-01-02 星期六 | 001616528 | 236701 | 清热解毒口服液 | 1 | 28.0 | 24.64 |
| 2 | 2018-01-06 星期三 | 0012602828 | 236701 | 感康 | 2 | 16.8 | 15.00 |
salesDf.mean()
社保卡号 5.388427e+24
商品编码 2.367010e+05
销售数量 3.000000e+00
应收金额 4.253333e+01
实收金额 3.621333e+01
dtype: float64
salesDf.iloc[0,1] #iloc利用系统位置索引查找
'001616528'
salesDf.loc[0,'商品编码']#loc利用索引名称查找
236701
salesDf[['商品名称','销售数量']]#切片
| 商品名称 | 销售数量 | |
|---|---|---|
| 0 | 强力VC银翘片 | 6 |
| 1 | 清热解毒口服液 | 1 |
| 2 | 感康 | 2 |
condition=salesDf.loc[:,'销售数量']>1
condition
0 True
1 False
2 True
Name: 销售数量, dtype: bool
数据分析的应用步骤
#删除重复值
#data.drop_duplicates(subset=列名)
#修改列名 data.rename(columns= )
#缺失值处理 删除法 data.dropna(subset=列名how=any) 填补法 data.fillna(data.mean())
#异常值处理 data<data.mean+3*data.std and data.meean()>3*data.std
#数据类型转换 data.astype(type) =pd.to_datetime(salesDf.loc[:,'销售时间'],format=Y'%Y-%m-%d')
这篇博客介绍了Python中使用numpy和pandas库创建和操作一维及二维数组的方法,并探讨了数据分析的基本流程。通过numpy,我们能创建和操作一维、二维数组;pandas则提供了方便的数据结构来处理一维和二维数组,适用于数据分析场景。
2269

被折叠的 条评论
为什么被折叠?



