Datawhale组队学习(Pandas) task7-缺失数据

Pandas多级索引数据处理及fillna()填充方式 函数可用于将Pandas数据帧(DataFrame)中的缺失值(NaN)用指定的值或方式进行填充。接下来,我们将以一个小实验的方式来具体说明fillna()填充方式如何使用,并且,在多级列索引的情况下如何使用。说明:fillna()的method参数和直接使用ffill()、bfill()效果一样,将来会被遗弃。将数据转换为三列:第一层列索引为一列,第二层列索引为一列,数据项为一列,最终结果数据(NaN)不能丢失。指定列向下填充(其它类似1.2)对整个df按列向下填充。对整个df按列向上填充。 阅读详情

第七章 缺失数据

缺失值的统计和删除

缺失信息的统计

# 查看每个单元格是否有缺失 isna()或isnull()
df = pd.read_csv('data/learn_pandas.csv',usecols=['Grade', 'Name', 'Gender', 'Height','Weight', 'Transfer'])
df.isna().head()
GradeNameGenderHeightWeightTransfer
0FalseFalseFalseFalseFalseFalse
1FalseFalseFalseFalseFalseFalse
2FalseFalseFalseFalseFalseFalse
3FalseFalseFalseTrueFalseFalse
4FalseFalseFalseFalseFalseFalse
# 查看缺失的比例
df.isna().mean()
Grade       0.000
Name        0.000
Gender      0.000
Height      0.085
Weight      0.055
Transfer    0.060
dtype: float64
# 利用isna()或notna()进行布尔索引
df[df.Height.isna()].head()
GradeNameGenderHeightWeightTransfer
3SophomoreXiaojuan SunFemaleNaN41.0N
12SeniorPeng YouFemaleNaN48.0NaN
26JuniorYanli YouFemaleNaN48.0N
36FreshmanXiaojuan QinMaleNaN79.0Y
60FreshmanYanpeng LvMaleNaN65.0N
# 同时对几个列操作,例如对身高/体重/转系情况这三列操作
# 三列全部缺失
sub_set = df[['Height', 'Weight', 'Transfer']]
df[sub_set.isna().all(1)]
GradeNameGenderHeightWeightTransfer
102JuniorChengli ZhaoMaleNaNNaNNaN
# 至少有一个缺失
df[sub_set.isna().any(1)].head()
GradeNameGenderHeightWeightTransfer
3SophomoreXiaojuan SunFemaleNaN41.0N
9JuniorJuan XuFemale164.8NaNN
12SeniorPeng YouFemaleNaN48.0NaN
21SeniorXiaopeng ShenMale166.062.0NaN
26JuniorYanli YouFemaleNaN48.0N
# 没有缺失
df[sub_set.notna().all(1)].head()
GradeNameGenderHeightWeightTransfer
0FreshmanGaopeng YangFemale158.946.0N
1FreshmanChangqiang YouMale166.570.0N
2SeniorMei SunMale188.989.0N
4SophomoreGaojuan YouMale174.074.0N
5FreshmanXiaoli QianFemale158.051.0N

缺失信息的删除

dropna()

  • axis 轴方向,默认0,即删除行
  • how 删除方式,有any/all两种选择
  • thresh 删除的非缺失值个数阈值,非缺失值没有达到这个数量的相应维度会被删除
  • subset 备选的删除子集
# 删除身高体重至少有一个缺失的行
res = df.dropna(how='any', subset=['Height','Weight'])
res.shape

# 用布尔索引完成
res = df.loc[df[['Height', 'Weight']].notna().all(1)]

res.head()
GradeNameGenderHeightWeightTransfer
0FreshmanGaopeng YangFemale158.946.0N
1FreshmanChangqiang YouMale166.570.0N
2SeniorMei SunMale188.989.0N
4SophomoreGaojuan YouMale174.074.0N
5FreshmanXiaoli QianFemale158.051.0N
# 删除超过15个缺失值的列
# 非缺失值个数shape[0]-15
res = df.dropna(1, thresh=df.shape[0]-15)
res.head()

# 用布尔索引完成
res = df.loc[:, ~(df.isna().sum()>15)]
GradeNameGenderWeightTransfer
0FreshmanGaopeng YangFemale46.0N
1FreshmanChangqiang YouMale70.0N
2SeniorMei SunMale89.0N
3SophomoreXiaojuan SunFemale41.0N
4SophomoreGaojuan YouMale74.0N

缺失值的填充和插值

利用fillna填充

fillna()

  • value 填充值,可以是标量,也可以是索引到元素的字典映射
  • method 填充方法,ffill 用前面的元素填充,bfill 用后面的元素填充
  • limit 连续缺失值的最大填充次数
s = pd.Series([np.nan, 1, np.nan, np.nan, 2, np.nan], list('aaabcd'))
s
a    NaN
a    1.0
a    NaN
b    NaN
c    2.0
d    NaN
dtype: float64
# 用前面的值向后填充
s.fillna(method='ffill')
a    NaN
a    1.0
a    1.0
b    1.0
c    2.0
d    2.0
dtype: float64
# 连续出现的缺失,最多填充一次
s.fillna(method='ffill', limit=1)
a    NaN
a    1.0
a    1.0
b    NaN
c    2.0
d    2.0
dtype: float64
# 填充值为标量
s.fillna(s.mean())
a    1.5
a    1.0
a    1.5
b    1.5
c    2.0
d    1.5
dtype: float64
# 通过索引映射填充
s.fillna({'a':100, 'd':200, 'c':100})  # c位置没有缺失,不会被填充
a    100.0
a      1.0
a    100.0
b      NaN
c      2.0
d    200.0
dtype: float64
# 先分组再填充
# 根据年级进行身高的均值填充
df.groupby('Grade')['Height'].transform(lambda x:x.fillna(x.mean())).head()
0    158.900000
1    166.500000
2    188.900000
3    163.075862
4    174.000000
Name: Height, dtype: float64

练一练

s.fillna(method='ffill', limit=1)
0    1.0
1    1.0
2    3.0
3    3.0
4    NaN
dtype: float64
s.fillna(method='bfill', limit=1)
0    1.0
1    3.0
2    3.0
3    NaN
4    NaN
dtype: float64
res = pd.DataFrame({'ffill':s.fillna(method='ffill', limit=1),'bfill':s.fillna(method='bfill', limit=1)})

res.mean(1, False)  # 忽略掉nan
0    1.0
1    2.0
2    3.0
3    NaN
4    NaN
dtype: float64

插值函数

s = pd.Series([np.nan, np.nan, 1, np.nan, np.nan, np.nan, 2, np.nan, np.nan])
s.values
# interpolate 默认为线性插值
# limit_direction 控制方向
# limit 控制最大连续缺失值插值个数
res = s.interpolate(limit_direction='backward', limit=1)
res.values

# 双向插值
res = s.interpolate(limit_direction='both', limit=1)
array([ nan, 1.  , 1.  ,  nan,  nan, 1.75, 2.  ,  nan,  nan])
# 最近邻插值,缺失值的元素和离它最近的非缺失值元素一样
s.interpolate('nearest')
# 索引插值
s = pd.Series([0,np.nan,10],index=[0,1,10])
s.interpolate(method='index')
0      0.0
1      1.0
10    10.0
dtype: float64

Nullable类型

缺失记号及其缺陷

Nullable类型的性质

pd.Series([np.nan, 1], dtype='Int64')
0    <NA>
1       1
dtype: Int64
pd.Series([np.nan, True], dtype='boolean')
0    <NA>
1    True
dtype: boolean
pd.Series([np.nan, 'abcd'], dtype='string')
0    <NA>
1    abcd
dtype: string
df_nan = pd.DataFrame({'category':['a','a','b',np.nan,np.nan],
   ....:                        'value':[1,3,5,7,9]})
df_nan
categoryvalue
0a1
1a3
2b5
3NaN7
4NaN9
pd.get_dummies(df_nan.category, dummy_na=True) # dummy_na 增加一列表示nan
abNaN
0100
1100
2010
3001
4001
pd.get_dummies(df_nan.category) 
ab
010
110
201
300
400

练习

缺失值与类别的相关性检验

df = pd.read_csv('data/missing_chi.csv')
df.head()
X_1X_2y
0NaNNaN0
1NaNNaN0
2NaNNaN0
343.0NaN0
4NaNNaN0
# 错误写法
n11 = df[df['X_1'].isna() & df['y']==1].shape[0]
n10 = df[df['X_1'].isna() & df['y']==0].shape[0]
n01 = df[df['X_1'].notna() & df['y']==1].shape[0]
n00 = df[df['X_1'].notna() & df['y']==0].shape[0]

在这里插入图片描述

# 这里在最开始做时,两个条件没有加小括号,导致计算出的结果不对..找了好久的错 发现是这里出了问题
n11 = df[(df['X_1'].isna()) & (df['y']==1)].shape[0]
n10 = df[(df['X_1'].isna()) & (df['y']==0)].shape[0]
n01 = df[(df['X_1'].notna()) & (df['y']==1)].shape[0]
n00 = df[(df['X_1'].notna()) & (df['y']==0)].shape[0]

# 后面就是分别计算E/F,写得非常繁琐...

在这里插入图片描述

# 答案中统计数目的写法太巧妙啦
cat_1 = df.X_1.fillna('NaN').mask(df.X_1.notna()).fillna('NotNaN')  # 控制填充为nan,非空填充为NotNaN
# df.X_1.fillna('NaN').mask(df.X_1.notna(), 'NotNaN')
df_1 = pd.crosstab(cat_1, df.y, margins=True)  # Crosstab 交叉列表取值,同时也会计算边际

# 计算S
def compute_S(my_df): 
    S = []
    for i in range(2):
        for j in range(2):
            E = my_df.iat[i, j]
            F = my_df.iat[i, 2]*my_df.iat[2, j]/my_df.iat[2,2]
            S.append((E-F)**2/F)
    return sum(S)

res1 = compute_S(df_1)
from scipy.stats import chi2
chi2.sf(res1, 1) # 检验p值

用回归模型解决分类问题

这道题参考了答案

第一问

df = pd.read_excel('data/color.xlsx')
df.head(3)
>>>
X1	X2	Color
0	-2.5	2.8	Blue
1	-1.5	1.8	Blue
2	-0.8	2.8	Blue

from sklearn.neighbors import KNeighborsClassifier
clf = KNeighborsClassifier(n_neighbors=6)
clf.fit(df.iloc[:,:2], df.Color)
clf.predict([[0.8, -0.2]])
>>> array(['Yellow'], dtype=object)
from sklearn.neighbors import KNeighborsRegressor
df_dummies = pd.get_dummies(df.Color)  # one-hot 编码
stack_list = []
for col in df_dummies.columns:
    clf = KNeighborsRegressor(n_neighbors=6)
    clf.fit(df.iloc[:,:2], df_dummies[col])
    res = clf.predict([[0.8, -0.2]]).reshape(-1,1)
    stack_list.append(res)
stack_list >>> [array([[0.16666667]]), array([[0.33333333]]), array([[0.5]])]
np.hstack(stack_list)  # np.hstack()是把矩阵进行行连接
code_res = pd.Series(np.hstack(stack_list).argmax(1)) # 返回最大值的索引序号
df_dummies.columns[code_res[0]]
>>> 'Yellow'

第二问

from sklearn.neighbors import KNeighborsRegressor
df = pd.read_csv('data/audit.csv')
res_df = df.copy()

在这里插入图片描述

# onehot编码/最大最小归一化→拼接
df = pd.concat([pd.get_dummies(df[['Marital', 'Gender']]), df[['Age','Income','Hours']].apply(lambda x:(x-x.min())/(x.max()-x.min())), df.Employment],1)

在这里插入图片描述

X_train = df[df.Employment.notna()]  # 训练集
X_test = df[df.Employment.isna()]  # 测试集

在这里插入图片描述

df_dummies = pd.get_dummies(X_train.Employment)  # 独热编码
stack_list = []
for col in df_dummies.columns:
	clf = KNeighborsRegressor(n_neighbors=6)
	clf.fit(X_train.iloc[:,:-1], df_dummies[col])
	res = clf.predict(X_test.iloc[:,:-1]).reshape(-1,1)
	stack_list.append(res)

code_res = pd.Series(np.hstack(stack_list).argmax(1))  # 返回类型编码
cat_res = code_res.replace(dict(zip(list(range(df_dummies.shape[0])),df_dummies.columns)))
res_df.loc[res_df.Employment.isna(), 'Employment'] = cat_res.values  # 将预测值赋给NaN值,完成填充
res_df.isna().sum()
合金理论自动化工具包(Alloy-Theoretic Automated Toolkit:ATAT)的安装 合金理论自动化工具包(ATAT)是一个通用名称,指的是合金理论工具的集合,它包含了不同的代码工具,具体如下: 1)根据第一性原理(映射和映射)构造集群扩展的代码。簇展开是一种非常紧凑和有效的表达式,给出取代合金的能量作为其构型的函数(即原子的类型位于晶格的哪个位置)。 2)为了计算合金的热力学性质,从聚类展开开始,对晶格模型进行蒙特卡洛模拟(emc2和memc2)的代码。 3)执行晶格动力学计算的代码(fitfc, fitsvsl, svsl) 4)使用简单的物理或半经验模型计算电子和磁自由能贡献 阅读详情

相关推荐

deepin启动异常处理

修复的命令在执行时会输出大量的修复信息,正常情况下修复完之后输入exit命令回车后,即可正常启动系统。

whxxiang的博客 4370

fillna()函数

fillna()函数的用法

lady_chen的博客 1万+

基于Java的高校校园点餐系统

本文介绍了一个基于Java技术开发的高校校园点餐系统,该系统以B/S结构为基础,采用MySQL作为数据库,实现了一个高效、便捷的在线点餐平台。系统主要面向三类用户:管理员、用户和食堂工作人员,提供包括用户管理、食堂管理、菜单管理、订单管理等在内的多项功能。通过系统的具体测试,验证了其可行性和有效性,为高校师生提供了一个科学化、系统化的点餐服务。高校校园点餐系统的开发和实现,不仅提高了校园餐饮服务的效率和质量,也为师生提供了一个更加便捷的点餐体验。

a632341031的博客 840

fillna()函数详解

inplace参数的取值:True、False True:直接修改原对象 False:创建一个副本,修改副本,原对象不变(缺省默认) method参数的取值 : {‘pad’, ‘ffill’,‘backfill’, ‘bfill’, None}, default None pad/ffill:用前一个非缺失值去填充该缺失值 backfill/bfill:用下一个非缺失值填充该缺失...

大胡子的博客 17万+

Tomcat漏洞——弱口令爆破

靶机:CentOS7 IP:192.168.100.40。攻击机:kali IP:192.168.100.60。版 权 声 明:本博客所有文章除特别声明外,均采用。文章版权归作者所有,未经允许请勿转载!作 者:PeiyuJue。

weixin_57379923的博客 909

Windows——Nessus安装(无限制)

Nessus手把手图文安装,解除ip限制~

网安小白的博客 9450

pandas系列学习教程——fillna()方法

fillna()方法是处理缺失值的强大工具,它提供了多种方式来替换 NaN 值,包括使用固定值、使用前向或后向填充、限制填充的数量等。根据具体的数据处理需求,可以灵活地选择合适的方法来清洗缺失的数据。

ZXY_ZXR的博客 5261

使用Python实现卷积神经网络(CNN)

卷积神经网络是一种专门用于处理具有网格状拓扑结构数据(如图像、声音)的深度学习模型。CNN的核心组件是卷积层和池化层,它们能够有效地从图像中提取特征并实现空间不变性,使得模型能够对图像中的物体进行识别和分类。我们定义一个简单的卷积神经网络模型,包括卷积层、池化层和全连接层。return x# 创建模型实例我们选择交叉熵损失函数作为分类任务的损失函数,并使用随机梯度下降(SGD)作为优化器。

Echo_Wish 4489

DataWhale组队学习pandas task02

Datawhale pandas组队学习 task02(下:练习)

weixin_40876195的博客 1044

无需Python环境!纯C#上位机+OpenCVSharp4+ONNX Runtime实现YOLOv8摄像头实时流检测,工业级稳定

摘要 工业自动化C#开发中,传统Python方案实现视觉检测功能存在环境依赖、内存泄漏和性能不稳定等问题。本文提出基于.NET 8+OpenCVSharp4+ONNX Runtime的纯C#方案,通过实际案例验证其优势: 零Python依赖,支持离线部署 内存稳定(380MB/72h),检测延迟<80ms 检测精度达漏检率<0.1%,误检率<0.5% 保留原有业务逻辑代码,3天完成适配 方案采用分层架构设计,支持多种硬件平台和操作系统,提供从模型导出到部署的全流程指导,为工业视觉检测提供高

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 196

【图像超分】论文精读:Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR和MDSR)

最近对超分辨率的研究随着深度卷积神经网络 (DCNN) 的发展取得了进展。特别是,残差学习技术表现出更好的性能。在本文中,我们开发了一个增强的深度超分辨率网络(EDSR),其性能超过了当前最先进的 SR 方法。我们模型的显着性能改进是由于通过删除传统残差网络中不必要的模块进行优化。当我们稳定训练过程时,通过扩展模型大小可以进一步提高性能。我们还提出了一种新的多尺度深度超分辨率系统(MDSR)和训练方法,该方法可以在单个模型中重建不同缩放因子的高分辨率图像。所提出的方法在基准数据集上比最先进的方法表现出更好的

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 7925

pandas组队学习task04

DataWhale组队学习task04 知识点 import pandas as pd import numpy as np path = r"C:\Users\yongx\Desktop\data" df = pd.read_csv(path +'\\learn_pandas.csv') #groupby 分组可直接通过列中按照名字获取,也可通过一定逻辑来分组 # 根据学生体重是否超过总体均值来分组,同时计算身高的均值 condition = df.Weight > df.Weight.m

qq_41834327的博客 186

Unity之ASE+ShaderGraph+VFX入门到精通 目录

这里是ASE+ShaderGraph+VFX从入门到精通专栏的目录,不停更新中,有问题随时留言或者私信。

TxNet 2841

十二月组队学习!

↑↑↑关注后"星标"Datawhale每日干货&每月组队学习,不错过Datawhale学习开源贡献:Datawhale团队今年最后一次组队学习,包含SQL...

Datawhale 364

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Task07|缺失数据|DataWhale组队学习

而不是普通的样条插值。这一部分的文档描述比较混乱,而且这种参数的设计也是不合理的,当使用这两类插值方法时,用户一定要小心谨慎地根据自己的实际需求选取恰当的插值方法。在数据处理中,含有过多缺失值的列往往会被删除,除非缺失情况与标签强相关。对一个序列以如下规则填充缺失值:如果单独出现的缺失值,就用前后均值填充,如果连续出现的缺失值就不填充,即序列。使用加法和乘法的时候,缺失数据等价于被视作0和1,不改变原来的计算结果。为填充值,可以是标量,也可以是索引到元素的字典映射。是可空的,序列不受缺失值的影响。

m0_52024881的博客 335

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Datawhale组队学习(Pandas) task11-综合练习

任务4 显卡日志 最开始想要通过str.extract(pat)提取有用信息,然后长宽表变换得到答案的,后来在实践过程中并没有实现,于是 解答该题思路转化为: 每一条测试都是两行,首先我将奇数行/偶数行分别存储 偶数行提取状态、精度、模型信息 奇数行提取模型、时间信息 本来最开始思路是根据模型 merge两个结果的,后来突然发现不同模型对应不同状态、精度,于是索性根据默认的索引直接拼接了 # 提取有用信息行 data = pd.read_table('./data/test/benchmark.txt

mintminty的博客 281

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

pandas学习task11综合任务

这是在datawhale学习小组学习pandas的最后综合练习,以下是学习笔记,仅供参考,不喜勿喷,笔者比较菜还在肝第二题,先把题目放出来,大家一块学习。 DataWhale Task Special & Task 11 综合练习 import pandas as pd import numpy as np 任务一企业收入的多样性 【题目描述】一个企业的产业收入多样性可以仿照信息熵的概念来定义收入熵指标:其中 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9p44b

qq_36559719的博客 390

Pandas基础学习(下) Task01:缺失数据(知识梳理脑图+全部资源教程)

之前跟随Pandas(上)学习,收获良多,这次开了下的组队学习,迫不及待的加入了。Datawhale是一个很好的开源组织,会组织很多免费的知识学习。 附上本次组队学习的计划和教程资料,即使没有当时加入组队学习,有兴趣的话从现在开始学习也不晚哦~ 现在学习喜欢用脑图的方式,知识点清晰明了,易于查找和复习,希望也可以帮助大家梳理知识脉络。

RexT1的博客 514

Datawhale组队学习(Pandas) task2-pandas基础

写在前面 看了很多小伙伴task1的笔记,感觉很棒的同时也深受启发,学习过程不仅仅是教材等资料的理解和重复,更应该是自己的思考、串联、发问、尝试,这样才能学得深刻~ 但因为前者更容易,所以自己常常陷入那种效率不太高的努力陷阱中。那以后的打卡笔记就不做一个搬运工+补充工了,多记录自己的思考和尝试。 import numpy as np import pandas as pd pd.__version__ '1.1.5' 1. 文件读取和写入 1.1 文件读取 1.1.1 读取my_csv, my_tab

mintminty的博客 555

Datawhale组队学习 Task1分类模型评价指标

第一次这种以组队的方式参与学习,一边打卡一边也相当于以博客的形式记录下自己的学习过程,希望能好好坚持下去吧~ 一、赛题理解 1.1 赛题链接 本次组队学习的内容为:数据挖掘实践(金融风控),该内容来自 Datawhale与天池联合发起的 零基础入门数据挖掘 - 贷款违约预测 学习赛的第一场。 比赛地址: https://tianchi.aliyun.com/competition/entrance/531830/information 项目地址: :https://github.com/datawhale

qq_40772086的博客 268

Datawhale--组队学习第12期--pandas基础学习---Task06缺失值处理

第6章 缺失数据 在接下来的两章中,会接触到数据预处理中比较麻烦的类型,即缺失数据和文本数据(尤其是混杂型文本) Pandas在步入1.0后,对数据类型也做出了新的尝试,尤其是Nullable类型和String类型,了解这些可能在未来成为主流的新特性是必要的 import pandas as pd import numpy as np df = pd.read_csv('data/table_mi...

weixin_44064434的博客 715

pandas版本_Datawhale十二月Pandas组学习打卡Task00.准备工作

编号112打卡Pandas大名如雷贯耳,做数据处理不可能不用Pandas。但以前没有系统学过,十分懵懂。这次跟着Datawhale的学习营学习,争取能深入全面的了解。我们这次组队的队名叫“七星联盟”,一共七个人,来自五湖四海,也是很有缘了。队长很年轻也很热心,希望我这个大龄选手可以坚持下去:)1.关于DatawhaleDatawhale 是一个专注于 AI 领域的开源组织,希望构建对学习...

weixin_29062671的博客 542

Datawhale组队学习Pandas

第20期Pandas组队学习 目录第20期Pandas组队学习Task01 预备知识 Task01 预备知识 下面直接展示 内联代码片。(输出结果以 #备注 展示) # author: xuxt time:2020/12/14 L = [] def my_func(x): return 2*x for i in range(5): L.append(my_func(i)) print(L) # [0, 2, 4, 6, 8] 定义“我的函数”输入x,返回,2x,即输入1,2,3,4,5

m0_51823053的博客 175

Datawhale_数据分析组队学习task4

数据清洗和准备处理缺失数据滤除缺失数据填充缺失数据数据转换利用函数或映射进行数据转换 处理缺失数据 import numpy as np string_data = pd.Series(['arrdvark','artichoke',np.nan,'avocado']) string_data >>> 0 arrdvark 1 artichoke 2 ...

luckygirl 377

Datawhale组队学习(Pandas) task3-索引

Joyful Pandas 第三章 索引 写在前面: 前两天每天看了大概4小时左右,对着教程把每个知识点敲了一遍。敲完之后感觉好多知识点彼此之间好相似,关掉教程回想这一章都大概讲了什么、什么顺序,发现只能回忆起局部的小点,框架上自己根本理不清。于是今天把教程又看了一遍,对照着整理导图,导图形成并不费很多时间,只是在整理过程中逐渐发现每个小节的关联、每个知识点的异同,终于清晰了一些。尤其在做习题过程中,强迫自己不要看教程去回想每道题对应什么知识点,然后去导图上对照,细节不清的再去看教程,这个过程很痛苦 但是

mintminty的博客 341
上一篇: Task Special & Task 11 综合练习
下一篇: Datawhale组队学习(Pandas) task8-文本数据
mintminty
博客等级 码龄8年 173粉丝 51原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值