ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

大厂职员是如何处理数据的了?

2021-06-08 12:59:43  阅读:213  来源: 互联网

标签:150 non 处理 columns df 大厂 数据 virginica 职员


介绍如何用python做数据预处理前,可以先了解下预处理有哪些步骤?简单列举了几个,如下:

  • 检查,数据是存在脏数据、缺失等情况,如何找出它们;
  • 清洗,如何丢弃异常的数据,或者进行补齐等操作;
  • 筛选,选出自己对自己有价值的数据;
  • 排序,指定字段排序,然后进行top n获取等;
  • 转换,数据join、合并、运算等;

不嫌麻烦,直接用python原生数据结构也能处理,但比较复杂。简单的方法,使用python强大的数据分析库pandas了。

如果想详细了解,可以去看看那本《利用python进行数据分析》。求推荐数据分析书籍的回答链接,如下:

现在要学python的matplotlib和pandas,有没有适合的这样的数据分手教程书?​www.zhihu.com图标

列举一些简单的例子,接下来随便说说。

 


数据

先准备数据,从sckit-learn中导入鸢尾花的数据集,并生成dataframe。如下:

import pandas as pd
from sklearn.datasets import load_iris

d = load_iris()
columns = ['SLength', 'SWidth', 'PLength', 'PWidth']
df = pd.DataFrame(d.data, columns=columns)
df["Type"] = list(map(lambda x: d.target_names[x], d.target))

接下来,通过这个数据集举一些使用示例。想了解数据集中数据含义可以去网上找资料看看。

检查

查看数据的基本信息,比如行数、列数,字段等。可通过info方法实现:

In [6]: df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 5 columns):
SpealLength    150 non-null float64
Spealwidth     150 non-null float64
PetalLength    150 non-null float64
PetalLength    150 non-null float64
Type           150 non-null object
dtypes: float64(4), object(1)
memory usage: 5.9+ KB

通过headtail了解数据的前后几行,实现对数据的直观认识。

In [8]: df.tail(5)
Out[8]:
     SLength  SWidth  PLength  PWidth       Type
145      6.7     3.0      5.2     2.3  virginica
146      6.3     2.5      5.0     1.9  virginica
147      6.5     3.0      5.2     2.0  virginica
148      6.2     3.4      5.4     2.3  virginica
149      5.9     3.0      5.1     1.8  virginica

通过describe了解数据的一些统计信息

In [9]: df.describe()
Out[9]:
       SpealLength  Spealwidth  PetalLength  PetalLength
count   150.000000  150.000000   150.000000   150.000000
mean      5.843333    3.054000     3.758667     1.198667
std       0.828066    0.433594     1.764420     0.763161
min       4.300000    2.000000     1.000000     0.100000
25%       5.100000    2.800000     1.600000     0.300000
50%       5.800000    3.000000     4.350000     1.300000
75%       6.400000    3.300000     5.100000     1.800000
max       7.900000    4.400000     6.900000     2.500000

清洗

丢弃数据包含NaN的行。

In [10]: df.dropna()

注:这个数据集中没有NaN数据,测试不出效果。

数据补齐,比如前向补齐。

In [11]: df.fillna(method='ffill')

筛选

支持各种筛选,比如选择品种为virginica的鸢尾花,如下:

In [12]: df[df['Type'] == 'virginica']

排序

按花蕊宽度进行排序,即PWidth

In [13]: df.sort_values(by='PWidth')

转换

假设有了新品种,可以合并进来

In [14]: pd.concat([df, dn]).reset_index()

求平均数

In [15]: df.mean()

有点偷懒了,本来想写的细点,突然有点累,上面介绍的都是一些基本的数据处理方法。


前面提到的那本书的购买。

第一版链接:https://book.douban.com/subject/25779298/

利用Python进行数据分析

京东

¥ 71.50

第二版链接:https://book.douban.com/subject/30283996/

利用Python进行数据分析(原书第2版)

¥ 65.50起

 

标签:150,non,处理,columns,df,大厂,数据,virginica,职员
来源: https://blog.csdn.net/BlackPanther30/article/details/117697699

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有