干货 | 50题带你入门Python数据分析(上)

进入正题前,先插播一则消息。当当年中庆促销已经启动,折上折,满减后再优惠。满减打对折,减完后用优惠码再减30元,相当于4折购书。扫下方菊花码进入

5225159116bb40a05a417e64f730aa1a.png

结算时输入优惠码3PAZJU,还能享满150减30

作为数据分析的初学者,我感受最深的就是很多时候我想分析处理下数据,无从下手,有的代码也不记得,查找使用方法又得花费时间,所以我整理了一份数据分析问答形式的专题,这里都是平时实战中常用到的,方便以后直接利用!

268724852e65d9f95a9cec919e58d1ee.gif

嘿嘿,进入正题!上题目~

7e36f2ed435dec8aaa66a2eff03ba7b7.gif

Q1:查看数据相关信息?

df.info() #查看数据类型
df.shape #查看数据规模
df.describe() #数据统计信息描述

800413c5d52380889f849c6fabc0df13.gif

Q2:如何设置才能不隐藏DataFram的列?

pd.set_option("max_columns",100) #这里100可以调整:最大显示列数
pd.set_option('display.max_columns',None) #这种是都显示

ef4889921ae679593c499fa7ba1e9682.gif

Q3:统计空值?

df.isnull().sum()

cc48a0abbc54cc641f4bf496b0f24ec7.gif

Q4:查看是否有重复值?

df.duplicated().any()

ad210137dd01c7b2955691acf7bcce15.gif

Q5:填充空值?

df.fillna(method = "ffill") #这是前向方法填充,bfill为后向填充
df.fillna(0) #用0填充空值

7615e73db95aeaf64a3607ad32e826ad.gif

Q6:删除列?

df.drop([""], axis =1, inplace = True)

3fd8512e5adcb92469816d6c8147055d.gif

Q7:删除有空值的行?

df.dropna(axis = 0, how = 'any', inplace = True)

f4cf8ccf9d31981c6d5fc0fe94537a34.gif

Q8:删除重复值?

df.drop_duplicates(inplace=True)

3d8ed7f11c325ca6931e6b5ae05c15a6.gif

Q9:排除特殊值的数据?

df = df[~df["列名"].isin(['这里写特殊值/错误值'])]

9007ec2b30c0cc01186f3061c0dcd75d.gif

Q10:修改数据类型?

df[""] = df[""].astype(int)

8c552f3d80ea55743ef8a11439085906.gif

Q11:重置索引?

df = df.reset_index(drop = True)

7b14d1ad8396220d67ce6f4d2c26cf27.gif

Q12:按照某一列降序重新排序?

m = df[''].sort_values(ascending = False).index[:].tolist()
df = df.loc[m]
df = df.reset_index(drop = True)

f722129e6e6acd02d92dc4a9d9d87ad2.gif

Q13:从某个指标上考虑分组?

s = df.groupby("列")["指标列"].agg(["count","sum","mean"])

d5572644d38fee9375e410055d9d44a0.gif

Q14:筛选出指标统计大于10的,以均值排序输出前十名?

s = s[s["count"]>20]
s.sort_values("mean", ascending = False).head(10)

6f94a209a5fcb1e0c821edcf628c35f9.gif

Q15:分组统计输出为DataFram,并且进行列重命名?

df = df.groupby('',as_index = False).count[['','']]
df.rename(columns = {'原来的列名':'新的列名'},inplace = True)

cea3aded4cab8529c8c5d54a1450ef0c.gif

Q16:时间标准化?

data['时间']=pd.to_datetime(data['时间'])

06e6672d24f9f6a121258c3eb7b75bc7.gif

Q17:根据生日计算年龄?

df['age'] = (pd.to_datetime('这里是当前日期如:2020-4') - pd.to_datetime(df['birthday'])) / pd.Timedelta('365 days')

e06a240f036b6b6e5ea44a9d1cc2c9e0.gif

Q18:分割字符串?(以斜杠为例)

t = df[""].str.split("\",expand = True)
t[0]

a9675fe2cd2afca0dd7d437028625f4f.gif

Q19:切片分段?(以分数列为例)

cut_bins = np.arrange(90,130,5)#分段设置,这里是分成5段
bins = pd.cut(df['score'], cut_bins)#将数据切片
bin_counts = df['score'].groupby(bins).count()

ffed0d2c1ac77306e944d4dacf42dbaf.gif

Q20:统计列值?

df[''].value_counts()

7e54beaf06de4c7245743a012de53734.gif

Q21:列值对比可视化?

df[''].value_counts().plot(kind = "bar")

89cd697aad6b2a507b64d77fd267e4c9.gif

Q22:查看相关性?

df.corr()

f8930cfa1deea574fd42ca924ee8fcab.gif

Q23:画散点图,看两个属性之间的关系?

df.plot.scatter(x="",y = "", figsize=(,), title = "")

7bec09577b378467b139ed02c06afab2.gif

Q24:DataFram直接可视化?

fig = df[['','']].plot(kind = "kde", figsize = (24,8), title = "")
fig.axes.title.set_size(10)

cc20853d8bc579c3b692d2346900b7b4.gif

Q25:逻辑回归预测?

from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
X = df.drop(['y'],axis = 1)
y = df['y']
model.fit(X, y)
y_pre = model.predict(test)
1、判断Python语言是一种高级语言。【对】 2、多选: Jupyter notebook中运行单元格的方法有哪几种?( ) 选项: A:Enter B:Shift+Enter C:Ctrl+Enter D:F5 答案: 【Shift+Enter;Ctrl+Enter】 3、单选: Jupyter notebook的记事本文件扩展名为:( ) 选项: A:m B:py C:pyc D:ipynb 答案: 【ipynb】 4、判断: Jupyter notebook 中的助手需要额外安装。答案: 【对】 5、单选Python安装扩展库常用的是( )工具 选项: A:setup B:update C:pip D:run 答案: 【pip】 6、单选: 关于Python语言的注释,以下选项中描述错误的是:( ) 选项: A:python语言有两种注释方式:单行注释和多行注释 B:python语言的单行注释以#开头 C:python语言的单行注释以单引号开头 D:Python语言的多行注释以’’’(三个单引号)开头和结尾 答案: 【Python语言的单行注释以单引号开头】 7、单选: 以下选项中,不是pip工具进行第三方库安装的作用的是:( ) 选项: A:安装一个库 B:卸载一个已经安装的第三方库 C:列出当前系统已经安装的第三方库 D:脚本程序转变为可执行程序 答案: 【脚本程序转变为可执行程序】 8、单选: 安装一个库的命令格式是:( ) 选项: A:pip uninstall  B:pip -h C:pip install  D: ip download  答案: 【pip install 】 9、判断: 标准的缩进格式是Python的语法之一。 选项: A:对 B:错 答案: 【对】 10、多选: 下列导入第三库的操作中正确的是:( ) 选项: A:import numpy B:import numpy as np C:from matplotlib import pyplot D:from urllib.request import urlopen 案: 【import numpy;import numpy as np;from matplotlib import pyplot;from urllib.request import urlopen】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值