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

(点击上方快速关注并设置为星标,一起学Python)

大家好,我是木木~

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

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

Q1:查看数据相关信息?

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

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

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

Q3:统计空值?

df.isnull().sum()

Q4:查看是否有重复值?

df.duplicated().any()

Q5:填充空值?

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

Q6:删除列?

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

Q7:删除有空值的行?

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

Q8:删除重复值?

df.drop_duplicates(inplace=True)

Q9:排除特殊值的数据?

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

Q10:修改数据类型?

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

Q11:重置索引?

df = df.reset_index(drop = True)

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

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

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

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

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

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

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

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

Q16:时间标准化?

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

Q17:根据生日计算年龄?

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

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

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

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

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

Q20:统计列值?

df[''].value_counts()

Q21:列值对比可视化?

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

Q22:查看相关性?

df.corr()

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

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

Q24:DataFram直接可视化?

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

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)

(上)

我就知道你“在看”

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值