【数据分析实用方法 01】numpy 和 pandas 常用方法汇总

Numpy 和 Pandas 常用方法汇总(实时更新)

这个专栏是实用数据集处理以及图像绘制,全是实际项目中用到的干货。最近做了一个需要大量数据处理的项目,正好吧所有用到的numpy 和 pandas方法进行汇总。用到新方法会及时更新汇总。

1. Numpy

(1)np.tile() 复制

np.tile(a,(2,3))
#沿y轴复制2倍,x轴复制3倍

在这里插入图片描述
(2)np.transpose()

np.transpose(维度,维度,维度)

常用于处理图像的不同维度
在这里插入图片描述
图像理解
在这里插入图片描述
(3)np.linspace() 构造等差数列,np.logspace(1, 5, 10) 同上,构造等比数列

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
'''
start:返回样本数据开始点
stop:返回样本数据结束点
num:生成的样本数据量,默认为50
endpoint:True则包含stop;False则不包含stop
retstep:If True, return (samples, step), where step is the spacing between samples.(即如果为True则结果会给出数据间隔)
dtype:输出数组类型
'''

在这里插入图片描述
(4)np.random.seed() 随机数种子,使得每次生成的随机数相同

np.random.seed(1) 
a = np.random.randn(2,4)
print(a)

在这里插入图片描述
(5)np.zeros_like() 创造同维度全0矩阵

在这里插入图片描述

2.Pandas

(1)读取csv文件
df = pd.read_csv('路径')

(2)字典创建表格

data={"color":['red','yellow','blue'],"value":np.arange(3)}
x=pd.DataFrame(data,index = [0,1,2])
# index默认就是012

在这里插入图片描述
(3)插入行

df['key'] = ['x','y','z']
#后面接list

在这里插入图片描述

(4)读取行

df1 = df[['color','value']]
df1

在这里插入图片描述
(5)删除

df.drop(labels=None, axis=0)

# labels:要drop的Index或column的名字,可以是单个的,也可以是list
# axis:0是行,1是列

(6)更改列名称

 df.rename(columns={'lat_col': 'cluster_lat', 'lon_col': 'cluster_lon'}, inplace=True)
 # inplace:bool,default False 将结果返回赋值给原变量
 # columns 对列标签进行修改(默认是行)

(7)改变索引

#设置新索引(不在原表)
df.index=['x','y','z']
#将原表汇总数据作为索引
df = df.set_index('color',inplace=True,drop = False)
#drop 默认true,删除索引在原来表中位置
df.reset_index(drop=True)
#将索引还原成0123,drop删除原索引

(8)df.loc,df.iloc 用于没有行列索引的行列提取

df1.loc[行号]
#找出index对应行的数据,提取某些行,行筛选
df1.loc[df1['color'] == 'red']["value"]  #只显示color = red行的 vakue列

在这里插入图片描述
在这里插入图片描述

df.iloc[行号,列号]

在这里插入图片描述
(9)相关性计算

df.corr() 
corrmat = df.corr()
plt.subplots(figsize=(12,9))
sns.heatmap(corrmat, vmax=0.9, square=True)
plt.show()
#计算表中所有列的相关性,并绘制热力图

(10)返回列的array

df1 = df['列名'].values

(11)列表shape

df.shape

(12)统计缺失值

count=df.isnull().sum().sort_values(ascending=False)

(13)两个表的拼接 pd.merge() merge默认是内连接,concat默认是外连接

pd.merge()
pd.merge(left, right, how='inner', on=None, left_on=None, 
right_on=None, left_index=False,sort = False, right_index=False,  suffixes=(_left,_right), indicator=False,)
#left,right :两个表
# on :主键,按照哪一列的值进行合并,只要该列对得上就可以
# left_index=False, right_index=False 按照索引拼接
# how 参数控制拼接方式,默认内连接(inner)即只把相同的进行拼接
# how = "outer" 外连接,把所有信息均保留,空白的填补NAN
# how = "left" 保留左表信息,右表与左表一致的进行拼接,没有的填补NAN(right)同理
# indicator 显示来自哪个表格
# suffixes 若左右有相同列名且不是主键的话显示后缀
# sort:按字典顺序通过连接键对结果数据框进行排序。

在这里插入图片描述
不指定on的话只有完全一致才可以合并
在这里插入图片描述
(14)pd.concat() merge默认是内连接,concat默认是外连接

pd.concat( [df1,df2], axis=0, join=‘outer’,ignore_index = True)
'''
objs: 表示需要连接的对象,比如:[df1, df2],需要将合并的数据用中括号包围;
axis=0 表拼接方式是上下堆叠,当axis=1表示左右拼接;
join :外连接还是内连接,join='outer’表示外连接,保留两个表中的所有信息;join="inner"表示内连接,拼接结果只保留两个表共有的信息;
ignore_index:ignore_index 忽略需要连接的frame本身的index
'''

(15)df.iterrows(),df.iteritems() 逐行逐列操作, 返回index和值

for row_index, row in df2.iterrows():
    print(row_index,row)
for col_index, col in df2.iteritems():
    print(col_index,col)

在这里插入图片描述

3.综合使用技巧

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特卡的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值