【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】

第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等

    • 第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等
  • 一、创建Series
    • 1. Series的创建
      • 通过列表创建Series
      • 通过字典创建Series
  • 二、 DataFrame的创建
    • 通过列表创建DataFrame
    • 通过字典创建DataFrame
  • 三、. 索引和切片
    • Series的索引和切片
    • DataFrame的索引和切片
  • 四、 数据清洗
    • 删除重复行
  • 五、替换空值
  • 六、数据类型转换
  • 七、.数据分析
  • 八、总结

第一章 Python 机器学习入门之Pandas库的使用

第二章 Python 机器学习入门之NumPy库的使用

第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等

第四章 Python 机器学习入门之数据可视化
第五章 Python 机器学习入门之机器学习算法
第六章 Python 机器学习入门之实战项目
在这里插入图片描述

一、创建Series

1. Series的创建

Series是一种一维数组,可以通过以下方式创建:

通过列表创建Series

使用pd.Series()函数创建Series对象,可以指定index参数来自定义索引,指定dtype参数来指定数据类型。例如:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'], dtype=float)
print(s)

输出结果:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

可以使用Python内置函数list()将其他数据类型转换为列表,使用Python内置函数range()生成一定范围内的整数序列,使用NumPy库中的函数生成一定范围内的随机数序列,使用Python内置函数zip()将多个列表合并为一个元组列表。

通过字典创建Series

使用pd.Series()函数创建Series对象,字典的键将作为Series的索引,字典的值将作为Series的数据,可以指定dtype参数来指定数据类型。例如:

d = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
s = pd.Series(d, dtype=float)
print(s)

输出结果:

a    1.0
b    2.0
c    3.0
d    4.0
e    5.0
dtype: float64

二、 DataFrame的创建

DataFrame是一种二维表格,可以通过以下方式创建:
WX搜公众号:资源充电吧
0R扫码关注

因为我在学习过程中经常要找资料,而且很多要付费,所以干了个免费的资源分享平台。不要想太多,真的无偿,关注回复想要的资料即可

免费分享2023的热门IT学习资料,各平台的各种教程,源码

通过列表创建DataFrame

使用pd.DataFrame()函数创建DataFrame对象,可以指定columns参数来自定义列名,指定index参数来自定义索引。例如:

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

输出结果:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

可以使用Python内置函数list()将其他数据类型转换为列表,使用Python内置函数zip()将多个列表合并为一个元组列表。

通过字典创建DataFrame

使用pd.DataFrame()函数创建DataFrame对象,字典的键将作为DataFrame的列名,字典的值将作为DataFrame的数据,可以指定columns参数来自定义列名,指定index参数来自定义索引。例如:

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame.from_dict(data, orient='columns', columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])
print(df)

输出结果:

a     Alice   25      F
b       Bob   30      M
c   Charlie   35      M
d     David   40      M

三、. 索引和切片

Series的索引和切片

使用[]操作符进行索引,使用.loc[]方法进行标签索引,使用.iloc[]方法进行位置索引,使用切片进行切片操作,使用布尔索引进行筛选操作。例如:

s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd',

输出结果

1.0 1.0 1.0 b 2.0 c 3.0 d 4.0 e 5.0 dtype: float64

d 4.0 e 5.0 dtype: float64

DataFrame的索引和切片

使用[]操作符进行索引,使用.loc[]方法进行标签索引,使用.iloc[]方法进行位置索引,使用切片进行切片操作,使用布尔索引进行筛选操作。例如

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 40], 'gender': ['F', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'], index=['a', 'b', 'c', 'd'])

#索引
print(df['name'])

#标签索引
print(df.loc['a'])

#位置索引
print(df.iloc[0])

#切片
print(df[1:3])

#筛选
print(df[df['age'] > 30])
输出结果:

```csharp
a       Alice
b         Bob
c     Charlie
d       David
Name: name, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

name      Alice
age          25
gender        F
Name: a, dtype: object

       name  age gender
b       Bob   30      M
c   Charlie   35      M

       name  age gender
c   Charlie   35      M
d     David   40      M

四、 数据清洗

删除重复行

使用.drop_duplicates()方法删除DataFrame中的重复行。例如:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Bob'], 'age': [25, 30, 35, 40, 30], 'gender': ['F', 'M', 'M', 'M', 'M']}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 删除重复行
df = df.drop_duplicates()
print(df)

输出结果:

      name  age gender
0    Alice   25      F
1      Bob   30      M
2  Charlie   35      M
3    David   40

五、替换空值

使用.fillna()方法将DataFrame中的空值替换为指定的值。例如

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, None, 35, 40], 'gender': ['F', 'M', 'M', None]}
df = pd.DataFrame(data, columns=['name', 'age', 'gender'])

# 替换空值
df = df.fillna({'age': 30, 'gender': 'M'})
print(df)

输出结果:

       name   age gender
0     Alice  25.0      F
1       Bob  30.0      M
2   Charlie  35.0      M
3     David  40.0      M

六、数据类型转换

在Pandas中,Series和DataFrame的数据类型转换可以使用astype()方法。astype()方法可以将Series或DataFrame中的数据类型转换为指定的数据类型。下面是一些示例代码:

import pandas as pd

# 创建一个Series
s = pd.Series(['1', '2', '3'])
print(s)

# 将Series中的数据类型转换为整型
s = s.astype(int)
print(s)

# 创建一个DataFrame
df = pd.DataFrame({'A': ['1', '2', '3'], 'B': ['4', '5', '6']})
print(df)

# 将DataFrame中的数据类型转换为整型
df = df.astype(int)
print(df)

输出结果:

0    1
1    2
2    3
dtype: object
0    1
1    2
2    3
dtype: int64
  A  B
0  1  4
1  2  5
2  3  6
  A  B
0  1  4
1  2  5
2  3  6

七、.数据分析

在Pandas中,Series和DataFrame的数据分析可以使用多种方法,包括描述性统计、排序、筛选、分组、聚合等操作。下面是一些示例代码:

import pandas as pd

# 创建一个Series
s = pd.Series([1, 2, 3, 4, 5])

# 描述性统计
print(s.describe())

# 排序
print(s.sort_values(ascending=False))

# 筛选
print(s[s > 3])

# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4,{'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]})\n\n# 分组\ngrouped = df.groupby('A')\n\n# 聚合\nprint(grouped.aggregate(['sum', 'mean', 'max']))\n```\n\n输出结果:\n\n```\ncount    5.000000\nmean     3.000000\nstd      1.581139\nmin      1.000000\n25%      2.000000\n50%      3.000000\n75%      4.000000\nmax      5.000000\ndtype: float64\n4    5\n3    4\n2    3\n1    2\n0    1\ndtype: int64\n3    4\n4    5\ndtype: int64\n  B           
  sum mean max
A              
1  6.0  6.0   6
2  7.0  7.0   7
3  8.0  8.0   8
4  9.0  9.0   9
5  10.0 10.0  10

八、总结

在Python机器学习入门中,我们学习了Pandas库中的Series和DataFrame的创建、索引、切片、数据清洗、数据分析等操作。下面是本次学习的总结:

Series是一种一维数组,可以通过列表、字典、数组等方式创建。Series可以通过索引进行访问和修改,支持切片操作。

DataFrame是一种二维表格,可以通过列表、字典、数组等方式创建。DataFrame可以通过列名和行索引进行访问和修改,支持切片操作。

数据清洗是数据分析的前置工作,包括处理缺失值、重复值、异常值等问题。Pandas提供了多种方法用于数据清洗,如dropna()、fillna()、drop_duplicates()、replace()等。

数据分析是数据挖掘的核心工作,包括描述性统计、排序、筛选、分组、聚合等操作。Pandas提供了多种方法用于数据分析,如describe()、sort_values()、groupby()、aggregate()等。

数据可视化是数据分析的重要手段,可以通过图表展示数据的分布、趋势等信息。Pandas提供了多种图表类型的可视化方法,如plot()、hist()、scatter()等。

总之,Pandas是Python机器学习中不可或缺的工具之一,掌握Pandas的使用方法对于数据分析和挖掘工作非常重要。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年5月24日
下一篇 2023年5月24日

相关推荐