我的Pandas学习经历及动手实践

python数据分析学习心得与经历 通过系统学习Python数据分析学习过程中,不仅提高了我在数据分析领域的技能,还让我更深刻地理解了数据背后的故事。持续学习和实践是保持竞争力的关键,我将继续深入学习新的数据分析技术,不断提升自己的能力。 阅读详情

 Datawhale干货 

作者:吴忠强,东北大学,Datawhale成员

想入门人工智能或者数据分析,要重视可以快速上手的学习技能:掌握一些基本概念,建立一个知识框架,然后就去实战,在实战中学习新知识,来填充这个框架。

我根据之前整理的一些pandas知识,总结了一个pandas的快速入门的知识框架。有了这些知识,然后去通过项目实战,然后再补充。希望能帮助大家快速上手。

ee7dab401fbb435007e9fd5c2985f1eb.png

Pandas入门知识框架

1. 什么是Pandas?熊猫?

Pandas 可以说是基于 NumPy 构建的含有更高级数据结构和分析能力的工具包, 实现了类似Excel表的功能,可以对二维数据表进行很方便的操作。

在数据分析工作中,Pandas 的使用频率是很高的,一方面是因为 Pandas 提供的基础数据结构 DataFrame 与 json 的契合度很高,转换起来就很方便。另一方面,如果我们日常的数据清理工作不是很复杂的话,你通常用几句 Pandas 代码就可以对数据进行规整。

Pandas的核心数据结构:Series 和 DataFrame 这两个核心数据结构。他们分别代表着一维的序列和二维的表结构。基于这两种数据结构,Pandas 可以对数据进行导入、清洗、处理、统计和输出。

快速掌握Pandas,就要快速学会这两种核心数据结构。

2. 两种核心数据结构

2.1 Series

Series 是个定长的字典序列。说是定长是因为在存储的时候,相当于两个 ndarray,这也是和字典结构最大的不同。因为在字典的结构里,元素的个数是不固定的。

Series 有两个基本属性:index 和 values。在 Series 结构中,index 默认是 0,1,2,……递增的整数序列,当然我们也可以自己来指定索引,比如 index=[‘a’, ‘b’, ‘c’, ‘d’]。

import pandas as pd
from pandas import Series, DataFrame
x1 = Series([1,2,3,4])
x2 = Series(data=[1,2,3,4], index=['a', 'b', 'c', 'd'])
print x1
print x2

上面这个例子中,x1 中的 index 采用的是默认值,x2 中 index 进行了指定。我们也可以采用字典的方式来创建 Series,比如:

d = {'a':1, 'b':2, 'c':3, 'd':4}
x3 = Series(d)
print x3

Series的增删改查

  1. 创建一个Series

    In [85]: ps = pd.Series(data=[-3,2,1],index=['a','f','b'],dtype=np.float32)     
    
    In [86]: ps                                                                     
    Out[86]: 
    a   -3.0
    f    2.0
    b    1.0
    dtype: float32
  2. 增加元素append

    In [112]: ps.append(pd.Series(data=[-8.0],index=['f']))                         
    Out[112]: 
    a    4.0
    f    2.0
    b    1.0
    f   -8.0
    dtype: float64
  3. 删除元素drop

    In [119]: ps                                                                    
    Out[119]: 
    a    4.0
    f    2.0
    b    1.0
    dtype: float32
    
    In [120]: psd = ps.drop('f')                                                    
    In [121]: psd                                                                  
    Out[121]: 
    a    4.0
    b    1.0
    dtype: float32

    注意不管是 append 操作,还是 drop 操作,都是发生在原数据的副本上,不是原数据上。

  4. 修改元素
    通过标签修改对应数据,如下所示:

    In [123]: psn                                                                   
    Out[123]: 
    a    4.0
    f    2.0
    b    1.0
    f   -8.0
    dtype: float64
    
    In [124]: psn['f'] = 10.0                                                       
    In [125]: psn                                                                   
    Out[125]: 
    a     4.0
    f    10.0
    b     1.0
    f    10.0
    dtype: float64

    Series里面允许标签相同, 且如果相同, 标签都会被修改。

  5. 访问元素
    一种通过默认的整数索引,在 Series 对象未被显示的指定 label 时,都是通过索引访问;另一种方式是通过标签访问。

    In [126]: ps                                                                    
    Out[126]: 
    a    4.0
    f    2.0
    b    1.0
    dtype: float32
    
    In [128]: ps[2] # 索引访问                              
    Out[128]: 1.0
    
    In [127]: ps['b']  # 标签访问                                                             
    Out[127]: 1.0

2.2 DataFrame

DataFrame 类型数据结构类似数据库表。它包括了行索引和列索引,我们可以将 DataFrame 看成是由相同索引的 Series 组成的字典类型。

import pandas as pd
from pandas import Series, DataFrame
data = {'Chinese': [66, 95, 93, 90,80],'English': [65, 85, 92, 88, 90],'Math': [30, 98, 96, 77, 90]}
df1= DataFrame(data)
df2 = DataFrame(data, index=['ZhangFei', 'GuanYu', 'ZhaoYun', 'HuangZhong', 'DianWei'], columns=['English', 'Math', 'Chinese'])
print df1
print df2

在后面的案例中,我一般会用 df, df1, df2 这些作为 DataFrame 数据类型的变量名,我们以例子中的 df2 为例,列索引是[‘English’, ‘Math’, ‘Chinese’],行索引是[‘ZhangFei’, ‘GuanYu’, ‘ZhaoYun’, ‘HuangZhong’, ‘DianWei’],所以 df2 的输出是:

English  Math  Chinese
ZhangFei         65    30       66
GuanYu           85    98       95
ZhaoYun          92    96       93
HuangZhong       88    77       90
DianWei          90    90       80

2.2.1基本操作

(1)数据的导入与输出

Pandas 允许直接从 xlsx,csv 等文件中导入数据,也可以输出到 xlsx, csv 等文件,非常方便。
需要说明的是,在运行的过程可能会存在缺少 xlrd 和 openpyxl 包的情况,到时候如果缺少了,可以在命令行模式下使用“pip install”命令来进行安装。

import pandas as pd
from pandas import Series, DataFrame
score = DataFrame(pd.read_excel('data.xlsx'))
score.to_excel('data1.xlsx')
print score

关于数据导入, pandas提供了强劲的读取支持, 比如读写CSV文件, read_csv()函数有38个参数之多, 这里面有一些很有用, 主要可以分为下面几个维度来梳理:

  • 基本参数

    • filepathorbuffer: 数据的输入路径, 可以是文件路径, 也可是是URL或者实现read方法的任意对象

    • sep: 数据文件的分隔符, 默认为逗号

    • delim_whitespace: 表示分隔符为空白字符, 可以是一个空格, 两个空格

    • header: 设置导入DataFrame的列名称, 如果names没赋值, header会选取数据文件的第一行作为列名

    • index_col: 表示哪个或者哪些列作为index

    • usecols: 选取数据文件的哪些列到DataFrame中

    • prefix: 当导入的数据没有header时, 设置此参数会自动加一个前缀

  • 通用解析参数

    • dtype:读取数据时修改列的类型

    • converters: 实现对列数据的变化操作

    • skip_rows: 过滤行

    • nrows: 设置一次性读入的文件行数,它在读入大文件时很有用,比如 16G 内存的PC无法容纳几百 G 的大文件。

    • skip_blank_lines: 过滤掉空行

  • 时间处理相关参数

    • parse_dates: 如果导入的某些列为时间类型,但是导入时没有为此参数赋值,导入后就不是时间类型

    • date_parser: 定制某种时间类型

  • 分开读入相关参数:
    分块读入内存,尤其单机处理大文件时会很有用。

    • iterator: iterator 取值 boolean,default False,返回一个 TextFileReader 对象,以便逐块处理文件。
      2e679f22f0460bd34fe501df478d79f1.png

    • chunksize: 整型,默认为 None,设置文件块的大小。

  • 格式和压缩相关参数

    id name  age 0   1   gz   10 1   2   lh   12

    - `thousands`: str,default None,千分位分割符,如 `,` 或者 `.`。
    
    - `encoding`: 指定字符集类型,通常指定为 ‘utf-8’
    • compression
      compression 参数取值为 {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None},默认 ‘infer’,直接使用磁盘上的压缩文件。如果使用 infer 参数,则使用 gzip、bz2、zip 或者解压文件名中以 ‘.gz’、‘.bz2’、‘.zip’ 或 ‘xz’ 这些为后缀的文件,否则不解压。如果使用 zip,那么 ZIP 包中必须只包含一个文件。设置为 None 则不解压。手动压缩本文一直使用的 test.csv 为 test.zip 文件,然后打开

      In [73]:  df = pd.read_csv('test.zip',sep='\s+',compression='zip')
      
      In [74]: df
      Out[74]:

具体这些参数怎么用, 可以看https://gitbook.cn/gitchat/column/5e37978dec8d9033cf916b5d/topic/5e3bcef3ec8d9033cf92466f

(2)数据清洗

数据清洗是数据准备过程中必不可少的环节,Pandas 也为我们提供了数据清洗的工具,在后面数据清洗的章节中会给你做详细的介绍,这里简单介绍下 Pandas 在数据清洗中的使用方法。

(2.1)删除 DataFrame 中的不必要的列或行

Pandas 提供了一个便捷的方法 drop() 函数来删除我们不想要的列或行

df2 = df2.drop(columns=['Chinese'])

想把“张飞”这行删掉。

df2 = df2.drop(index=['ZhangFei'])

(2.2)重命名列名 columns,让列表名更容易识别

如果你想对 DataFrame 中的 columns 进行重命名,可以直接使用 rename(columns=new_names, inplace=True) 函数,比如我把列名 Chinese 改成 YuWen,English 改成 YingYu。

df2.rename(columns={'Chinese': 'YuWen', 'English': 'Yingyu'}, inplace = True)

(2.3)去重复的值

数据采集可能存在重复的行,这时只要使用 drop_duplicates() 就会自动把重复的行去掉

df = df.drop_duplicates() #去除重复行

(2.4)格式问题

  • 更改数据格式
    这是个比较常用的操作,因为很多时候数据格式不规范,我们可以使用 astype 函数来规范数据格式,比如我们把 Chinese 字段的值改成 str 类型,或者 int64 可以这么写

df2['Chinese'].astype('str') 
df2['Chinese'].astype(np.int64)
  • 数据间的空格
    有时候我们先把格式转成了 str 类型,是为了方便对数据进行操作,这时想要删除数据间的空格,我们就可以使用 strip 函数:

#删除左右两边空格
df2['Chinese']=df2['Chinese'].map(str.strip)
#删除左边空格
df2['Chinese']=df2['Chinese'].map(str.lstrip)
#删除右边空格
df2['Chinese']=df2['Chinese'].map(str.rstrip)

如果数据里有某个特殊的符号,我们想要删除怎么办?同样可以使用 strip 函数,比如 Chinese 字段里有美元符号,我们想把这个删掉,可以这么写:

df2['Chinese']=df2['Chinese'].str.strip('$')

(2.5)大小写转换

大小写是个比较常见的操作,比如人名、城市名等的统一都可能用到大小写的转换,在 Python 里直接使用 upper(), lower(), title() 函数,方法如下:

#全部大写
df2.columns = df2.columns.str.upper()
#全部小写
df2.columns = df2.columns.str.lower()
#首字母大写
df2.columns = df2.columns.str.title()

(2.6)查找空值

数据量大的情况下,有些字段存在空值 NaN 的可能,这时就需要使用 Pandas 中的 isnull 函数进行查找。比如,我们输入一个数据表如下:
a3d6fa21c747e663b65f3c3338ece8a4.png
如果我们想看下哪个地方存在空值 NaN,可以针对数据表 df 进行 df.isnull(),结果如下:
b12101d90ce4e5e67e83ab89ac4ab805.png
如果我想知道哪列存在空值,可以使用 df.isnull().any(),结果如下:
ff57d668abe461d04f4cb1423f5e9849.png

2.2.2 使用apply函数对数据进行清洗

apply 函数是 Pandas 中自由度非常高的函数,使用频率也非常高。比如我们想对 name 列的数值都进行大写转化可以用:

df['name'] = df['name'].apply(str.upper)

我们也可以定义个函数,在 apply 中进行使用。比如定义 double_df 函数是将原来的数值 *2 进行返回。然后对 df1 中的“语文”列的数值进行 *2 处理,可以写成:

def double_df(x):
           return 2*x
df1[u'语文'] = df1[u'语文'].apply(double_df)

我们也可以定义更复杂的函数,比如对于 DataFrame,我们新增两列,其中’new1’列是“语文”和“英语”成绩之和的 m 倍,'new2’列是“语文”和“英语”成绩之和的 n 倍,我们可以这样写:

def plus(df,n,m):
    df['new1'] = (df[u'语文']+df[u'英语']) * m
    df['new2'] = (df[u'语文']+df[u'英语']) * n
    return df
df1 = df1.apply(plus,axis=1,args=(2,3,))

2.3 数据统计

在数据清洗后,我们就要对数据进行统计了。Pandas 和 NumPy 一样,都有常用的统计函数,如果遇到空值 NaN,会自动排除。常用的统计函数包括:
cbcc462a1f3d16198359eadb062b90e7.png
表格中有一个 describe() 函数,统计函数千千万,describe() 函数最简便。它是个统计大礼包,可以快速让我们对数据有个全面的了解。下面我直接使用 df1.descirbe() 输出结果为:

df1 = DataFrame({'name':['ZhangFei', 'GuanYu', 'a', 'b', 'c'], 'data1':range(5)})
print df1.describe()
ef12900a7bb34d20d0675a900a56d633.png

2.4 数据表合并

有时候我们需要将多个渠道源的多个数据表进行合并,一个 DataFrame 相当于一个数据库的数据表,那么多个 DataFrame 数据表的合并就相当于多个数据库的表合并。
比如我要创建两个 DataFrame:

df1 = DataFrame({'name':['ZhangFei', 'GuanYu', 'a', 'b', 'c'], 'data1':range(5)})
df2 = DataFrame({'name':['ZhangFei', 'GuanYu', 'A', 'B', 'C'], 'data2':range(5)})

两个 DataFrame 数据表的合并使用的是 merge() 函数,有下面 5 种形式:

  1. 基于指定列进行连接
    比如我们可以基于 name 这列进行连接。
df3 = pd.merge(df1, df2, on='name')

3211b313d52dd428ef500d8e870c77ae.png
2. inner内连接
inner 内链接是 merge 合并的默认情况,inner 内连接其实也就是键的交集,在这里 df1, df2 相同的键是 name,所以是基于 name 字段做的连接:

df3 = pd.merge(df1, df2, how='inner')

f36f4ba8aca7d34bb8119a249547ea2e.png
3. left左连接
左连接是以第一个 DataFrame 为主进行的连接,第二个 DataFrame 作为补充。

df3 = pd.merge(df1, df2, how='left')
  1. right右连接
    右连接是以第二个 DataFrame 为主进行的连接,第一个 DataFrame 作为补充。
df3 = pd.merge(df1, df2, how='right')

8eecaaea1edd1300cd6d63d59e30ef25.png
5. outer外连接
外连接相当于求两个 DataFrame 的并集。

df3 = pd.merge(df1, df2, how='outer')
dcdca7223800b38e6955cc7ff84d4e02.png

2.5 DataFram的行级遍历

尽管 Pandas 已经尽可能向量化,让使用者尽可能避免 for 循环,但是有时不得已,还得要遍历 DataFrame。Pandas 提供 iterrows、itertuples 两种行级遍历。

  1. 使用 iterrows 遍历打印所有行,在 IPython 里输入以下行:

    def iterrows_time(df):
    for i,row in df.iterrows():
        print(row)

    访问每一行某个元素的时候, 可以通过列名直接访问:
    435e1a185a4bead4def6425b17605bb2.png

  2. 使用 itertuples 遍历打印每行:

    def itertuples_time(df):
    for nt in df.itertuples():
        print(nt)

    这个效率更高, 比上面那个节省6倍多的时间, 所在数据量非常大的时候, 推荐后者。访问每一行某个元素的时候, 需要getattr函数
    41f161ce28ca89dc224c4e6fe56cb85e.png

  3. 使用iteritems遍历每一行

    这个访问每一行元素的时候, 用的是每一列的数字索引

c0a7ea5a9a4f7009cc0947514db3aed4.png

3. 如何用SQL方式打开Pandas

Pandas 的 DataFrame 数据类型可以让我们像处理数据表一样进行操作,比如数据表的增删改查,都可以用 Pandas 工具来完成。不过也会有很多人记不住这些 Pandas 的命令,相比之下还是用 SQL 语句更熟练,用 SQL 对数据表进行操作是最方便的,它的语句描述形式更接近我们的自然语言。

事实上,在 Python 里可以直接使用 SQL 语句来操作 Pandas。

这里给你介绍个工具:pandasql。

pandasql 中的主要函数是 sqldf,它接收两个参数:一个 SQL 查询语句,还有一组环境变量 globals() 或 locals()。这样我们就可以在 Python 里,直接用 SQL 语句中对 DataFrame 进行操作,举个例子:

import pandas as pd
from pandas import DataFrame
from pandasql import sqldf, load_meat, load_births
df1 = DataFrame({'name':['ZhangFei', 'GuanYu', 'a', 'b', 'c'], 'data1':range(5)})
pysqldf = lambda sql: sqldf(sql, globals())
sql = "select * from df1 where name ='ZhangFei'"
print pysqldf(sql)

运行结果

data1      name
0      0  ZhangFei

上面代码中,定义了:

pysqldf = lambda sql: sqldf(sql, globals())

在这个例子里,输入的参数是 sql,返回的结果是 sqldf 对 sql 的运行结果,当然 sqldf 中也输入了 globals 全局参数,因为在 sql 中有对全局参数 df1 的使用。

参考

  • 极客时间《数据分析实战45讲》课程:https://time.geekbang.org/

  • Pandas的基本使用:http://note.youdao.com/noteshare?id=28264a6b8536e4448e0bf3de701cd230&sub=25080C078C444E6E8B0C809C88BD0C76

  • python数据分析实用小抄:https://www.cnblogs.com/nxld/p/6687253.html

  • 像Excel一样使用python进行数据分析:https://www.cnblogs.com/nxld/p/6756492.html

  • 50道练习带你玩转Pandas:https://mp.weixin.qq.com/s/39yPBJ7DWSMs_aIxtlpXCw

  • AI基础:Pandas简易入门:https://mp.weixin.qq.com/s/uLBJc_iIize8a9B491U7VQ

  • Pandas常用用法:https://www.freesion.com/article/7330378876/

觉得还不错就给我一个小小的鼓励吧!
python数据分析基础005 -pandas详解_pandas入门这一篇就足够了 pandas详解,建议收藏!! 阅读详情

相关推荐

Android手机本地语音转文字实战:用FunASR+ONNX Runtime打造离线ASR应用(附模型下载)

本文详细介绍了如何在Android应用中集成FunASR和ONNX Runtime,构建高性能的离线语音识别系统。通过模型选择、工程化集成和性能调优等实战技巧,开发者可以实现本地语音转文字功能,有效保护用户隐私并提升响应速度。

weixin_29046611的博客 266

聊聊我的 Pandas 学习经历及动手实践

想入门人工智能或者数据分析,要重视可以快速上手的学习技能: 掌握一些基本概念,建立一个知识框架,然后就去实战,在实战中学习新知识,来填充这个框架。 我根据之前整理的一些pandas知识,总结了一个pandas的快速入门的知识框架。有了这些知识,然后去通过项目实战,然后再补充。希望能帮助大家快速上手。喜欢本文记得收藏、点赞、关注。我将这些资料整理成PDF版本,需要的可以问题找我获取。 推荐文章 李宏毅《机器学习》国语课程(2022)来了 有人把吴恩达老师的机器学习和深度学习做成了中文版 上瘾了,

Python学习与数据挖掘 1655

别再只盯着YOLOv8了!手把手带你用PaddleDetection的PP-YOLOE+搞定你的第一个检测项目

本文介绍了PP-YOLOE+在目标检测领域的优势与应用实践,对比YOLOv8展示其在精度、速度和部署便利性上的突破。通过详细的代码示例和实战教程,帮助开发者快速上手PaddleDetection工具链,实现产业级目标检测项目,提升开发效率。

weixin_42701915的博客 186

实验四、Pandas数据分析处理

data = {'商品ID':['1000', '1001', '1002', '1003'],'书名':['白夜行', '山海经', '狼大叔的红焖鸡', '最基础的插花课'],'出版社':['南海出版公司 ', '现代出版社', '贵州人民出版社', '中原农民出版社'],'定价':['59.00', '26.52', '63.40', '32.70'](1) 采用Pandas存储数据,分别显示行索引、列索引和值;(2) 分别显示'书名'列 和 '书名'、'定价'列;

Wendyxiaan的博客 1942

手把手教你用GEM-2多频电磁仪找地下管道(附真实数据图)

本文详细解析了使用GEM-2多频电磁仪精准定位地下管线的全流程,包括设备调试、频率选择、现场扫描技巧及数据解读。通过真实案例展示了如何应对复杂干扰环境,提升管线检测效率与准确性,特别适合市政工程和地下管线普查。

weixin_42565652的博客 402

Yolov5s可视化网络结构图

Yolov5共有四种网络结构,每种网络深度和宽度上都不相同。 (1) Yolov5s可视化网络结构图:点击查看 (2) Yolov5m可视化网络结构图:点击查看 (3) Yolov5l可视化网络结构图:点击查看 (4) Yolov5x可视化网络结构图:点击查看 ...

江南研习社 15万+

Py之Pandas:Python的pandas库简介、安装、使用方法详细攻略

​ Py之Pandas:Python的pandas库简介、安装、使用方法详细攻略 目录 pandas库的简介 pandas库的安装 pandas库使用方法 推荐文章 Py之Pandas:Python的pandas库简介、安装、使用方法详细攻略 Python之pandas:DataFrame二维表的简介、常用函数、常用案例之详细攻略 Python:Python实现读入、写出、复制(自定义函数封装)各自类型如txt、csv等文件之详细攻略 Python之pandas:DataFrame表格数据

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 3万+

博图编写温度程序_s7 smart200的CRC-16校验程序

最近做一个小项目,项目中采用485自由口通讯方式,使用一台西门子S7 smart200对一台冷水机做多个状态和温度做监控,并能对冷水机进行启停控制,和参数设置,因为冷水机的协议不是标准modbus格式,所以要自己编写通信协议。其中要用到CRC校验,在网上找了些别人写的程序,基本上用不了。只能自力更生了。首先,找到CRC校验的算法,并理解。 下面就是我找的算法(这个网上很多),1....

weixin_39539761的博客 3062

【Python】我的Pandas学习经历及动手实践

Datawhale干货作者:吴忠强,东北大学,Datawhale成员想入门人工智能或者数据分析,要重视可以快速上手的学习技能:掌握一些基本概念,建立一个知识框架,然后就去实战,在实战中...

fengdu78的博客 701

【搭建实战】全国天气预报看板搭建

不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。是一款国内研发的开发者友好的低代码平台,您无需了解React/Vue等框架的开发、部署等各种细节,就可以快速打通前后端,连接RESTAPI、MySQL、MongoDB等多种数据源,然后通过一套开箱即用的组件,轻松搭建功能完善的数据看板、数据洞察、Admin管理后台等多种应用。天气预报对我们的各项活动有很大的帮助,可以让我们合理安排自己的出行等活动。...

weixin_39545889的博客 429

C#构建高精度预测模型:从数据预处理到模型部署的实战指南

【代码】C#构建高精度预测模型:从数据预处理到模型部署的实战指南。

墨夶的博客 1266

【机器学习】决策树的构造代码实现

数据集: 首先,初始化代码和数据 我们想要数组形式,这样分: 这里就不贴代码了,参考博客和《机器学习实战》书决策树的构造即可。 ????记录一些出现的错误: 加载csv数据的时候代码从网上下载的csv文件一直报错 Error tokenizing data. C error: Expected 2 fields in line 134, saw 3或者就是'utf-8' codec can't decode bytes in position 16: invalid continuation byt

iamzchi 213

SSE(Server-Sent Events)完整使用示例

本篇使用Node.js 作为服务端,在浏览器客户端演示SSE的完整实例和演示。实现了一个基于 Server-Sent Events (SSE) 的实时数据推送功能。

oscar999的专栏 752

掌握Pandas数据分析:从零到精通的实战学习路径

你是否曾陷入这样的困境:看了无数Pandas教程,但面对真实数据时依然无从下手?教程教会你理论,但实践才能让你真正掌握数据分析技能。这正是pandas_exercises项目诞生的原因——一个专为实战而生的Pandas练习库,通过精心设计的练习体系,帮助你从"知道"到"做到"。 ## 为什么传统学习方式总是失败? 大多数数据分析学习者都会经历这样的循环:观看教程→感觉理解→面对真实数据→手足无

gitblog_00576的博客 920

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python画图坐标重叠怎么办_Python学习第95课-多个数据在同一个坐标轴画图叠加

【每天几分钟,从零入门python编程的世界!】我们已经学过了绘制折线图、柱状图、直方图、散点图、饼状图和堆栈图。这节课我们学习如何把多个数据画图叠加,这种图形可以用作多组数据的对比。下面我们通过一个例子来展示多个数据在同一个坐标轴绘制图表叠加。我们直接上代码:运行结果:我们在上面的代码中看到我们引入了pandas。我们之前并没有专门去了解和学习pandas,现在却要直接拿过来用,难道我们不应该去...

weixin_39928940的博客 1491

计算机控制技术及应用

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

熊猫书来了!最全的pandas介绍!

“告别痛苦,快乐学习pandas”是Datawhale社区和耿远昊发起“Joyful pandas”开源项目的初衷。历经两年的精心打磨,它终于要以熊猫书《pandas数据处理与分析》新面貌与大家见面啦。▲ 点击图片购书5折本书作者耿远昊正在威斯康星大学麦迪逊分校统计学攻读硕士学位。他是Datawhale开源社区成员,“Joyful Pandas”开源项目作者。他也是pandas贡献者,活跃于pan...

cainiao_python的博客 1256

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python学习之pandas

最近被各种人工统计浪费了太多时间,才逼的自己学Python了。一个从事AI方向的人,居然还不会用Python,他到底有多水…是时候努力学习一下,这都是提高效率的工具,就想自己当初花时间学git,《鸟哥的Linux私房菜》一样,工具一定要用熟练!!! 我目前主要是要处理Excel表格,所以需学一下pandas;又因为Python基本都忘光了,所以还是需要学一下python的基本语法。 IDE spyder,比pyCharm好用 入门资源 廖雪峰python教程 pandas 看这个网站就够了。Pandas 中

https://github.com/heatMa 663

【Pandas】一文入门Pandas处理csv文件数据集(神经网络/机器学习算法数据预处理)

和某个大佬采集的数据是csv格式的,之前没处理过csv格式的数据。拿来写神经网络训练的时候踩了不少坑,这里记录一下,也方便后来人学习。处理csv文件的包应该有不少,这里就做一个pandas的教程了(其他的没用过hhhh)。这里我以我的一个数据为例演示一些常用的处理方法。 csv文件中的空值(NaN)是什么? 这里是一个大坑。建议大家在读csv的时候用我下面这个参数,把缺失的值统一设置为。这样在后面如果需要手动过滤掉缺失值的时候可以索引到位置。之前试过,如果不设置这个参数,缺失值不是False、0、"NaN

qq_43426078的博客 5500

Python Pandas深度学习进阶指南:从零基础到项目实战

本文提供了一个系统化的Python Pandas学习路径,从零基础到项目实战共分为八个阶段:1) 核心数据结构(Series/DataFrame)基础;2) 数据输入输出(CSV/Excel等格式);3) 数据清洗(缺失值/异常值处理);4) 数据选择与过滤;5) 数据分组聚合;6) 数据合并连接;7) 时间序列处理;8) 项目实战与性能优化。每个阶段包含核心目标、必备知识点、实践示例和注意事项,通过电商销售分析等实战项目帮助学习者掌握Pandas在数据处理全流程中的应用。建议学习周期为12-18周,重点培

漫画之迷学编程 1207

pandas 画图_Python学习第95课-多个数据在同一个坐标轴画图叠加

【每天几分钟,从零入门python编程的世界!】我们已经学过了绘制折线图、柱状图、直方图、散点图、饼状图和堆栈图。这节课我们学习如何把多个数据画图叠加,这种图形可以用作多组数据的对比。下面我们通过一个例子来展示多个数据在同一个坐标轴绘制图表叠加。我们直接上代码:运行结果:我们在上面的代码中看到我们引入了pandas。我们之前并没有专门去了解和学习pandas,现在却要直接拿过来用,难道我们不应该去...

weixin_39683368的博客 1029

python的pandas包怎么样_用Python做数据分析,Numpy,Pandas,matp

该楼层疑似违规已被系统折叠隐藏此楼查看此楼用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的《利用Python进行数据分析》,看了好几遍,不是从头到尾看了好几遍,是顺着看、挑着看、精读略读强行读,一直没坚持完整过一遍。后来发现了广受好评的《10分钟搞定pandas》。这是官方出品的,于是我马上动手跟着做,才发现作者就是个...

weixin_39638305的博客 84

Python 数据分析学习心得:从理论到实践的进阶之旅

作为一名学生,在学习 Python 数据分析这门课程的过程中,我从对数据分析概念的懵懂认知,逐步走向实践应用,收获颇丰,也有诸多深刻感悟。

whtmsa的博客 813

Pandas:我为一个主要开源项目做出贡献的经历

拉取请求”通常是向使用 git 版本控制系统的项目“提供”代码的方式。这是一个请求维护者将你的代码(在这种情况下是修复)拉入项目的主代码库。***注意:*你需要对git有一定的了解,特别是与GitHub一起工作,以便首先能够做出贡献。所以如果你不熟悉这些,我建议首先掌握使用 git 的基础知识。pandas 文档中有大量关于你需要使用的命令的具体指导,但了解 git 的工作原理仍然会有所帮助。

龙哥盟 329

cousera上的华盛顿机器学习专项课程的案例学习学习经历分享

cousera上有很多优质课程,我前前后后将吴恩达的机器学习课程和华盛顿大学的机器学习的案例学习都看了,从感觉上感觉两个课程都是属于比价简单也就是入门的课程,当然我现在最后悔的就是最开始我学的时候没有发现这个神奇的网站和课程,导致我浪费了很多精力和时间。 首先对于吴恩达的机器学习课程,不用说很厉害也很热,但是其编程语言选的是matlab类型的语言,虽然说算法和语言联系并不是很大,但是在练习编程题目...

qq_41682681的博客 612
上一篇: 因为爬虫失控,CTO 和程序员双双被判刑
下一篇: 大脑为啥要删除3岁前的记忆?你小时候到底看见了啥?
Wang_AI
博客等级 码龄12年 997粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值