当前位置: 首页 > news >正文

成都市城乡建设厅官方网站聊城做网站的公司信息

成都市城乡建设厅官方网站,聊城做网站的公司信息,电脑系统,网站建设免备案免费空间数据删减 虽然我们可以通过数据选择方法从一个完整的数据集中拿到我们需要的数据,但有的时候直接删除不需要的数据更加简单直接。Pandas 中,以 .drop 开头的方法都与数据删减有关。 DataFrame.drop 可以直接去掉数据集中指定的列和行。一般在使用时&am…

数据删减

虽然我们可以通过数据选择方法从一个完整的数据集中拿到我们需要的数据,但有的时候直接删除不需要的数据更加简单直接。Pandas 中,以 .drop 开头的方法都与数据删减有关。

DataFrame.drop 可以直接去掉数据集中指定的列和行。一般在使用时,我们指定 labels 标签参数,然后再通过 axis 指定按列或按行删除即可。当然,你也可以通过索引参数删除数据,具体查看官方文档。

  • axis=0axis='index':删除行。这是默认设置。
  • axis=1axis='columns':删除列。
df.drop(labels=['Median Age', 'Total Males'], axis=1)

DataFrame.drop_duplicates 则通常用于数据去重,即剔除数据集中的重复值。使用方法非常简单,默认情况下,它会根据所有列删除重复的行。也可以使用 subset 指定要删除的特定列上的重复项,要删除重复项并保留最后一次出现,请使用 keep=‘last’。

一个删除列的例子

在 Pandas 中,删除 DataFrame 的列通常通过指定列的名称来完成。你不需要直接写列数(索引),而是使用列的名称。例如,如果你的 DataFrame 是这样的:

import pandas as pddata = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)

现在假设你想删除列 'B',你可以这样做:

df = df.drop('B', axis=1)

这里 'B' 是列的名称,axis=1 指定了你想删除的是列,而不是行(行是 axis=0)。这种方法避免了直接使用列的数值索引,使代码更加清晰易懂。

[DataFrame.drop_duplicates] 则通常用于数据去重,即剔除数据集中的重复值。使用方法非常简单,默认情况下,它会根据所有列删除重复的行。也可以使用 subset 指定要删除的特定列上的重复项,要删除重复项并保留最后一次出现,请使用 keep=‘last’。

除此之外,另一个用于数据删减的方法 [DataFrame.dropna] 也十分常用,其主要的用途是删除缺少值,即数据集中空缺的数据列或行。

数据填充

既然提到了数据删减,反之则可能会遇到数据填充的情况。而对于一个给定的数据集而言,我们一般不会乱填数据,而更多的是对缺失值进行填充。

在真实的生产环境中,我们需要处理的数据文件往往没有想象中的那么美好。其中,很大几率会遇到的情况就是缺失值。缺失值主要是指数据丢失的现象,也就是数据集中的某一块数据不存在。除此之外、存在但明显不正确的数据也被归为缺失值一类。例如,在一个时间序列数据集中,某一段数据突然发生了时间流错乱,那么这一小块数据就是毫无意义的,可以被归为缺失值。

检测缺失值

Pandas 为了更方便地检测缺失值,将不同类型数据的缺失均采用 NaN 标记。这里的 NaN 代表 Not a Number,它仅仅是作为一个标记。例外是,在时间序列里,时间戳的丢失采用 NaT 标记。

Pandas 中用于检测缺失值主要用到两个方法,分别是:isna()notna(),故名思意就是「是缺失值」和「不是缺失值」。默认会返回布尔值用于判断。

接下来,我们人为生成一组包含缺失值的示例数据。

df = pd.DataFrame(np.random.rand(9, 5), columns=list('ABCDE'))
# 插入 T 列,并打上时间戳
df.insert(value=pd.Timestamp('2017-10-1'), loc=0, column='Time')
# 将 1, 3, 5 列的 2,4,6,8 行置为缺失值
df.iloc[[1, 3, 5, 7], [0, 2, 4]] = np.nan
# 将 2, 4, 6 列的 3,5,7,9 行置为缺失值
df.iloc[[2, 4, 6, 8], [1, 3, 5]] = np.nan
df
TimeABCDE
02017-10-010.6049150.2057690.2655890.1336210.348693
1NaT0.731832NaN0.110929NaN0.430827
22017-10-01NaN0.243280NaN0.927472NaN
3NaT0.514475NaN0.616544NaN0.314332
42017-10-01NaN0.951334NaN0.620587NaN
5NaT0.279080NaN0.298142NaN0.527567
62017-10-01NaN0.345831NaN0.023264NaN
7NaT0.522263NaN0.757472NaN0.072000
82017-10-01NaN0.928859NaN0.718561NaN

首先,我们可以用相同的标量值替换 NaN,比如用 0

df.fillna(0)

除了直接填充值,我们还可以通过参数,将缺失值前面或者后面的值填充给相应的缺失值。例如使用缺失值前面的值进行填充:

df.fillna(method='pad') #使用缺失值前面的数填补
df.fillna(method='bfill') #使用缺失值后面的数填补

上面的例子中,我们的缺失值是间隔存在的。那么,如果存在连续的缺失值是怎样的情况呢?试一试。首先,我们将数据集的第 2,4 ,6 列的第 3,5 行也置为缺失值。

df.iloc[[3, 5], [1, 3, 5]] = np.nan
df
TimeABCDE
02017-10-010.6049150.2057690.2655890.1336210.348693
1NaT0.731832NaN0.110929NaN0.430827
22017-10-01NaN0.243280NaN0.927472NaN
3NaTNaNNaNNaNNaNNaN
42017-10-01NaN0.951334NaN0.620587NaN
5NaTNaNNaNNaNNaNNaN
62017-10-01NaN0.345831NaN0.023264NaN
7NaT0.522263NaN0.757472NaN0.072000
82017-10-01NaN0.928859NaN0.718561NaN

下面的操作是基于上面的表格来的,不互相影响

可以看到,连续缺失值也是按照前序数值进行填充的,并且完全填充。这里,我们可以通过 limit= 参数设置连续填充的限制数量。

填充一项

df.fillna(method='pad', limit=1)  # 最多填充一项
TimeABCDE
02017-10-010.6049150.2057690.2655890.1336210.348693
12017-10-010.7318320.2057690.1109290.1336210.430827
22017-10-010.7318320.2432800.1109290.9274720.430827
32017-10-01NaN0.243280NaN0.927472NaN
42017-10-01NaN0.951334NaN0.620587NaN
52017-10-01NaN0.951334NaN0.620587NaN
62017-10-01NaN0.345831NaN0.023264NaN
72017-10-010.5222630.3458310.7574720.0232640.072000
82017-10-010.5222630.9288590.7574720.7185610.072000

正向填充多项:

df.fillna(method='pad')
TimeABCDE
02017-10-010.6049150.2057690.2655890.1336210.348693
12017-10-010.7318320.2057690.1109290.1336210.430827
22017-10-010.7318320.2432800.1109290.9274720.430827
32017-10-010.7318320.2432800.1109290.9274720.430827
42017-10-010.7318320.9513340.1109290.6205870.430827
52017-10-010.7318320.9513340.1109290.6205870.430827
62017-10-010.7318320.3458310.1109290.0232640.430827
72017-10-010.5222630.3458310.7574720.0232640.072000
82017-10-010.5222630.9288590.7574720.7185610.072000

除了上面的填充方式,还可以通过 Pandas 自带的求平均值方法等来填充特定列或行。举个例子:

df.fillna(df.mean()['C':'E'])
http://www.yayakq.cn/news/477475/

相关文章:

  • 访问网站速度很慢行政部建设公司网站
  • asp.net搭建网站自己怎么建设收费电影网站
  • 2002年网站建设公司商城网站建设制作
  • 国内做的比较好的数据网站wordpress自带搜索
  • s001网站建设wordpress显示运行时间
  • 网站开发新技术探索米拓cms
  • 黑龙江省建设网站首页一个网站的二级目录在另一台服务器上_怎么做
  • 卡盟建设vip网站上海室内设计公司排行榜
  • 国外做文化的网站网站建设人员需求分析
  • 企业网站外包建设app定制网站开发
  • 淘宝客自己做网站吗私人定制网
  • cms管理手机网站绍兴网站开发08keji
  • 用html5做手机网站宝塔和wordpress
  • 企业定制网站开发维护合同产品宣传推广方案
  • wordpress企业站被黑有哪些小公司网站
  • 企业网站建设如何去规划二级网站免费建
  • 网站移动适配怎么创建子网站
  • 大连手机自适应网站制作公司网站子目录怎么做反向代理设置
  • 网站开发与游戏网站建设论文
  • 网站收录了没有排名网站做系统叫什么名字
  • 做美团网这种网站赚钱吗wordpress+电商版本
  • 北京朝阳区最好的小区哈尔滨优化建站哪家专业
  • 肃宁做网站价格最新新闻热点事件50字
  • 企业网站建设策划书案例做企业网站的费用挂什么科目
  • 企业营销型网站规划百度关键词指数查询工具
  • 济宁北湖建设集团网站python做网站有什么优势
  • 学做快餐的视频网站创意产品设计图
  • 网站集约化建设调研报告网站制作生成器
  • 怎么做外贸网站seo设计自学网站哪个好
  • 无锡做网站需要多少钱郑州app开发公司排名