python一维数组和二维数组

31
五月
2021
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
购药时间社保卡号商品编码商品名称销售数量应收金额实收金额
02018-01-01 星期五001616528236701强力VC银翘片682.869.00
12018-01-02 星期六001616528236701清热解毒口服液128.024.64
22018-01-06 星期三0012602828236701感康216.815.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')
TAG

网友评论

共有访客发表了评论
请登录后再发布评论,和谐社会,请文明发言,谢谢合作! 立即登录 注册会员