python三大模块简短总结

Numpy  总结

Np.array()  创建矩阵   例

Np.array([1,2,3])    输出结果为   [1  ,   2  ,  3]

 np.array([[1,  2],  [3,  4]])   

输出结果

[[1  2]

 [3  4]]

Reshape 修改数组   例如:

a = np.arange(8)  

 [0 1 2 3 4 5 6 7]

b = a.reshape(4,2)

[[0 1]

 [2 3]

 [4 5]

 [6 7]]

Linspace  创建一个0-1浮点数的数组  

Logspace 创建一个  1-100  的浮点数的数组

例: np.linspace(0,1,10)  从0-1范围   十个浮点数

np.logspace(0,2,20) 表示从10^0  到 10^2=100  范围内   生成  20个浮点数

生成随机数组

Np.random.rand(10)   生成0-1   的10个浮点数

数组函数:

Sin  计算数组中所有数字的sin值

Np.all  判断数组中元素是否都满足条件

Np.any判断数组中元素至少有一个满足条件

np.ceil(arr)   #对元素向上取整

np.floor(arr)  #对元素进行向下取整

np.array_equal(arr1,arr2)#判断两个数组是否完全相同

np.cumprod(arr)#计算累积

np.std(arr)#计算数组标准差

np.logical_and(arr>=4 , arr<=7) #判断是否在 4和7之间

np.exp(arr)   #e的幂次方  科学计数法

np.genfromtxt('data.csv',delimiter=',',skip_header=1)读取csv文件    跳过第一行

np.argmax(arr)  #数组中最大元素的索引

np.nonzero(arr)[0][0] #找到数组中第一个非零元素的索引

Matplotlib总结

Plot  绘制折线图

Scatter 绘制散点图

Bar 用于绘制垂直的条形图和水平的条形图

Barh 绘制横向的条形图

fill_between  绘制面积图

Hist 绘制直方图

Pie 绘制饼图

Subplots 绘制子图

设置  x,y两个数组   使用绘图函数  将x,y传入

plot(x, y, 'bo')

fontproperties = 'SimHei'  设置字体

plt.legend(prop={'family':'SimHei'})  设置图例字体

'b' 蓝色,'m' 洋红色,'g' 绿色,'y' 黄色,'r' 红色,'k' 黑色,'w' 白色,'c' 青绿色

'‐' 实线,'‐‐' 破折线,'‐.' 点划线,':' 虚线。

'.' 点标记,',' 像素标记(极小点),'o' 实心圈标记,'v' 倒三角标记,'^' 上三角标记,'>' 右 三角标记,'<' 左三角标记

Ms 设置标记大小

Mfc 设置标记内部颜色

Mec 设置边框颜色

使用函数   xlabel  设置x轴标签

Ylabel  设置y轴标签

Title   设置图像标题

plt.xlabel("x 轴", fontproperties='SimHei', loc="left")  fontproperties设置字体

Loc 设置文字位置

函数  grid 设置网格线

plt.grid(axis='x') # 设置 平行于y轴的网格线

plt.legend()   设置图例

Pandas  总结

读取文件  read_csv   读取csv 格式文件

将字典转化为  DataFrame   

dict = {'name': nme, 'site': st, 'age': ag}  

df = pd.DataFrame(dict)

Head()默认读取前5行

Tail()  默认读取后5行

Info   返回一些基本信息

数据清洗

Isnull()  判断各个单元格是否为空

Dropna()  删除空数据的行   默认   返回一个新的DataFrame   不修改源数据

Dropna(inplace = True)  修改源数据

dropna(subset=[列名], inplace = True)  删除指定列中值为空的行

Fillna(12345)  将空值  替换为12345

df['PID'].fillna(12345, inplace = True)  将12345替换pid列为空值的单元格

x = df["ST_NUM"].mean()

df["ST_NUM"].fillna(x, inplace = True)  计算列的平均值   替换空值

Median  计算中位数

Mode  计算众数

将日期格式错误的值修改为正确的

Loc 通过标签  替换错误数据

例  loc[2,’age’] = 30  2代表行索引  age代表列

Iloc 通过位置

例:iloc[行索引,列索引]

Drop_duplicates()  删除重复值

Replace(‘新值’,’旧值’)

Rename 修改列名

例:

df = df.rename(columns={'name': '姓名', 'age': '年龄', 'gender': '性别', 'score': '成绩'})

排序

.sort_values(列名,ascending=True/False)  ascending不可少

# 选择成绩大于等于90的行,并只保留姓名和成绩两列

df = df.loc[df['成绩'] >= 90, ['姓名', '成绩']]

Describe()   每列的基本统计信息

根据条件选择行

例:df[df[‘Age’]>=30]

对数据进行排序

例:df.sort_values(by=’Age’,ascending=False)  

by是排序的字段

ascending=False  表示降序排序

在df数据中新增一列

例:df[‘新增列名’] = [新增数据(数量对应条数)]

分组计算

例:df.groupby('Gender'<分组字段>)['Age'<要计算的字段>].mean()<对性别分组求每个性别的平均年龄>

使用平均值替换缺失值

例:df['Age'].fillna(df['Age'].mean(), inplace=True)   <将年龄中的缺失值替换为年龄的平均值>

更改列明

df.rename(columns={'Gender': 'Sex'}, inplace=True)

       Inplace=True   表示更改源数据

合并两个df

例:pd.merge(df1,df2,on=’<两个df中相同的列>’)

数据读取

pd.read_csv(文件地址, usecols=['Name', 'Position'])

文件内容为:

Name,Position

Alice,Manager

Bob,Data Analyst

Charlie,Engineer

输出结果:

      Name      Position

0    Alice       Manager

1      Bob  Data Analyst

2  Charlie      Engineer

透视表

 merged_df.pivot_table(values='Salary', index='Position', aggfunc='mean')

     values='Salary'  表示要使用的值的列名

 index='Position'  表示要使用的列名   作为索引

aggfunc='mean' 表示要进行什么操作

数据去重操作

merged_df.drop_duplicates()   取出df中的重复数据的方法

字符串操作

例:df[‘列名’] = df[‘列名’].str.upper()   .将某一列的数据转化为大写

                  .str.upper()是一个字符串方法  将字符串中的字母都转化为大写

数据替换

例 df[‘列名’].replace({‘原数据’:’更改后的数据’,‘原数据’:’更改后的数据’,........})

时间处理

Pd.to_datetime(df[‘时间列名’])     将日期字符串转换为日期格式

df_dates['Join_Date'].dt.year    .dt.year  提取日期中的年份

从df中选择某一行数据

df.iloc[行数]   行数从0开始

对数据进行标记   

np.where(df['Salary'] > 55000, 'High', 'Normal')

判断df中的某一列是否满足条件    满足返回第一个   不满足返回第二个

对数据进行多行排序

例:df.sort_values(by=[字段1, '字段2'], ascending=[False, True])

首先按照字段1进行 降序排序(False)

当字段1的值相同时  对字段2进行升序排序

累计计算

duplicate_removed.groupby('Name')['Salary'].cumsum()

Cumsum   进行累计计算的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值