第一章 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()等。文章来源:https://www.toymoban.com/news/detail-450754.html
总之,Pandas是Python机器学习中不可或缺的工具之一,掌握Pandas的使用方法对于数据分析和挖掘工作非常重要。文章来源地址https://www.toymoban.com/news/detail-450754.html
到了这里,关于【第三章 Python 机器学习入门之Series和DataFrame的创建、索引、切片、数据清洗、数据分析等】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!