四月上旬新内容速递丨技术深潜、图表进阶与AI热词

春意正浓,学习升温!四月上旬更新聚焦技术拓展、图表新解、AI热点与实战任务,助你在数据探索之路上步步为营,智取未来!

一、场景应用精选

【热力图】数据的“温度计”与分布探测器》→热力图在业务分布与浓度识别中的实战应用。
【数析课堂】排序法:业务人员的“数据理线器”》→排序法助力业务数据梳理,提升分析效率。
【关系图】解锁数据背后的“隐形网络”与关联密码》→关系图在复杂关联分析中的深度应用。
【数析课堂】让数据开口说话:职场人的“图形法”生存指南》→图形法职场实战指南,轻松驾驭数据表达。

二、技术经验分享

降维打击!Smartbi仪表盘隐藏ECharts玩法大揭秘》→解锁仪表盘高阶玩法,用ECharts实现可视化降维创新。
“数”转乾坤:数据转换规则变形记》→深入数据转换规则,掌握数据变形与流转的核心技巧。

三、AI知识更新

【AI每日一学】简要介绍一下最近AI圈很火的“养龙虾”话题》→每日一学,快速理解AI圈热门话题“养龙虾”。
【AI每日一学】讲一下最近AI圈很火的“养龙虾”话题中一直被提及的skill》→深度解析“养龙虾”中的关键技能概念,紧跟AI前沿。

四、全新素材上线

指标元素动态图(二)》→新增指标动态图素材,丰富仪表盘视觉表现力。

五、官方通知更新

2026年「月更日志」社区更新合集 3.1 - 3.31》→回顾三月社区更新动态,掌握平台最新进展。
春日如约而至:2026年第一季度任务通关排行榜请查收!》→揭晓Q1任务通关榜单,激励持续学习与挑战。

六、任务持续上线

【AI知识巩固】简要介绍一下最近AI圈很火的“养龙虾”话题》→追踪AI圈最新热词,轻松入门“养龙虾”现象。
【图表应用】热力图:数据的“温度计”与分布探测器》→学习热力图制作,让数据热度一目了然。
【BI知识闯关】降维打击!Smartbi仪表盘隐藏ECharts玩法大揭秘》→实战闯关,巩固仪表盘隐藏技能。
【数析课堂】排序法知识巩固》→掌握排序分析法,梳理数据层级关系。
【图表应用】关系图:挖掘数据背后的“隐形关系网”》→学习关系图绘制,发现数据间的隐秘关联。
【BI知识闯关】重生之如何找SQL看数据不对问题(上)》→SQL排错实战,提升数据校验能力。
【BI知识闯关】“数”转乾坤:数据转换规则变形记》→闯关巩固数据转换规则应用。
【AI知识巩固】讲一下最近AI圈很火的“养龙虾”话题中一直被提及的skill》→深入“养龙虾”背后的技能概念,拓展AI认知。
【数析课堂】图形法知识巩固》→强化图形化分析方法,让数据表达更直观。

麦粉社区
>
帖子详情

python学习篇-pandas库(七)

数据挖掘 发表于 2019-12-23 17:53
发表于 2019-12-23 17:53:46
DataFrame缺失值操作
创建测试数据集
  1. import pandas as pd
  2. import numpy as np
  3. data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],
  4.         'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],
  5.         'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
  6.         'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}

  7. labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
  8. df2 = pd.DataFrame(data, index=labels)
  9. df2
复制代码
300335e006b449f49c.png
一、缺失值填充
函数DataFrame.fillna()
参数value:可以为数值、字典、Series、DataFrame
参数method:方法,可以为backfill、bfill、pad、ffill、None,默认None。
                       backfill/bfill:用下一个非缺失值去填充该缺失值。pad/ffill:用前一个非缺失值填充该缺失值。None:指定一个缺失值来填充
参数inplace:默认False,如果为True,就地填充。True:直接修改原对象;False:创建一个副本,修改副本,原对象不变。
参数limit:指定每列或每行替换NaN元素的个数。
参数axis:0/index、1/columns。0/index:按行填充;1/columns:按列填充。
1.1、用数值填充空值,并不修改原对象。下图中原始数据集df3未发生变化,存在空值,副本df4空值都被指定数值替换。
  1. df3 = df2.copy()
  2. df4 = df3.fillna(value=3,inplace=False)
  3. print(df3)
  4. df4
复制代码
917695e00747d2c125.png
1.2、用数值填充空值,并修改原对象。下图中原始数据集df3被指定数值替换。
  1. df3 = df2.copy()
  2. print(df3)
  3. df3.fillna(value=3,inplace=True)
  4. df3
复制代码
111695e00763215779.png
1.3、用字典填充
  1. df3 = df2.copy()
  2. df3.fillna(value={'age':3},inplace=True)
  3. df3
复制代码
418795e0076eeaff76.png
1.4、backfill/bfill:用下一个非缺失值去填充该缺失值
  1. df3 = df2.copy()
  2. print(df3)
  3. df3.fillna(method='bfill',inplace=True)
  4. df3
复制代码
648505e00787e72d00.png
1.5、pad/ffill:用前一个非缺失值填充该缺失值
  1. df3 = df2.copy()
  2. print(df3)
  3. df3.fillna(method='pad',inplace=True)
  4. df3
复制代码
686545e0078ba0a195.png
1.6、指定limit参数值,下面是按行替换2个NaN值
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
  5. df3.fillna(value=9,limit=2)
复制代码
729815e007d4a76807.png
1.7、axis参数设置,axis=1:按列填充数值,如method='ffill',axis=1,则空值由它前一列的非空值填充。
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
  5. df3.fillna(method='ffill',axis=1)
复制代码
963585e008139ed3e9.png
二、缺失值删除
函数dropna()
参数how:可为any、all,默认any
参数thresh:需要的非空值数量。
参数suset:定义搜索的行列标签,删除空值所在的行或列
参数axis:0/index、1/columns。0/index:按行填充;1/columns:按列填充。
2.1、删除含有空值的列
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
复制代码
206995e008677c7970.png
2.2、how='any':删除存在缺失的行数
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
  5. df3.dropna(how='any')
复制代码
386635e00871405e2b.png
2.3、删除全为空值的列
how='all',axis=1
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
  5. df3.dropna(how='all',axis=1)
复制代码
641405e008805eb64f.png
2.4、将行数中少于4个非空数值的行删除
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
  5. df3.dropna(thresh=4,inplace=True)
  6. df3
复制代码
28595e008b63d80ac.png
2.5 指定某列的搜索非空值的行保留
  1. df3 = df2.copy()
  2. df3.loc[0:3,'visits']=np.nan
  3. df3.loc[:,'c']=np.nan
  4. print(df3)
  5. df3.dropna(subset=['visits'] ,inplace=True)
  6. df3
复制代码
100715e008c83b7545.png
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

0回帖数 0关注人数 6838浏览人数
最后回复于:2019-12-23 17:53

社区

指南

AI

搜索

快速回复 返回顶部 返回列表