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

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

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

1. Numpy

(1)np.tile() 复制

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

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第1张图片
(2)np.transpose()

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

常用于处理图像的不同维度
【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第2张图片
图像理解
【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第3张图片
(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:输出数组类型
'''

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第4张图片
(4)np.random.seed() 随机数种子,使得每次生成的随机数相同

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

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第5张图片
(5)np.zeros_like() 创造同维度全0矩阵

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第6张图片

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

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第7张图片
(3)插入行

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

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第8张图片

(4)读取行

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

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第9张图片
(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列

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第10张图片
在这里插入图片描述

df.iloc[行号,列号]

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第11张图片
(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:按字典顺序通过连接键对结果数据框进行排序。

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第12张图片
不指定on的话只有完全一致才可以合并
【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第13张图片
(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)

【数据分析实用方法 01】numpy 和 pandas 常用方法汇总_第14张图片

3.综合使用技巧

你可能感兴趣的:(python,数据处理及可视化常用工具,pandas,数据分析,numpy,python,数据挖掘)