您的位置:首页 > 娱乐 > 八卦 > 网页设计与制作期末作业源代码_网站简历_谷歌搜索引擎363_做博客的seo技巧

网页设计与制作期末作业源代码_网站简历_谷歌搜索引擎363_做博客的seo技巧

2025/2/27 13:18:10 来源:https://blog.csdn.net/weixin_44774466/article/details/145885054  浏览:    关键词:网页设计与制作期末作业源代码_网站简历_谷歌搜索引擎363_做博客的seo技巧
网页设计与制作期末作业源代码_网站简历_谷歌搜索引擎363_做博客的seo技巧

Python操作DataFrame的常用操作

  • Python操作DataFrame的常用操作
    • 一、连接数据库并读取数据(代码3 - 9)
    • 二、查看DataFrame的元素个数、维度数、形状(代码3 - 10)
    • 三、DataFrame转置(代码3 - 11)
    • 四、使用字典访问和属性访问方式取出某一列(代码3 - 12、3 - 13)
    • 五、取出某列或某几列的前几个元素(代码3 - 14、3 - 15)
    • 六、取出DataFrame的某几行元素(代码3 - 16)
    • 七、查看DataFrame的前几行和后几行数据(代码3 - 17)
    • 八、使用loc()和iloc()方法提取数据(代码3 - 18、3 - 19、3 - 20)
    • 九、传入表达式提取数据(代码3 - 21、3 - 22)
    • 十、更改DataFrame中的数据(代码3 - 23)
    • 十一、转换为时间序列数据并新增列(代码3 - 24、3 - 25)
    • 十二、删除DataFrame的列或行(代码3 - 26、3 - 27)
    • 十三、计算平均值、描述性统计和频数统计(代码3 - 28、3 - 29、3 - 30、3 - 31)
    • 十四、转变数据类型并进行描述统计(代码3 - 32、3 - 33)
    • 总结

Python操作DataFrame的常用操作

在Python中,pandas库的DataFrame是一个非常强大的数据结构,常用于数据处理和分析。本文将详细介绍DataFrame的常用操作,并提供相应的代码示例。

一、连接数据库并读取数据(代码3 - 9)

# 代码3-9
from sqlalchemy import create_engine
import pandas as pd
# 创建数据库连接
engine = create_engine('mysql+pymysql://root:1234@127.0.0.1:3306/testdb?charset=utf8') 
musicdata = pd.read_sql_table('musicdata', con=engine)
print('音乐行业收入信息表的索引为:', musicdata.index)print('音乐行业收入信息表的所有值为:\n', musicdata.values)print('音乐行业收入信息表的列名为:\n', musicdata.columns)print('音乐行业收入信息表的数据类型为:\n', musicdata.dtypes)

代码解析
首先,使用sqlalchemy库的create_engine函数创建一个数据库连接引擎,连接到指定的MySQL数据库。然后,使用pandasread_sql_table函数从数据库中读取名为musicdata的表,并将其存储在musicdata这个DataFrame对象中。接着,分别打印出该DataFrame的索引、所有值、列名和数据类型。

二、查看DataFrame的元素个数、维度数、形状(代码3 - 10)

# 代码3-10
# 查看DataFrame的元素个数、维度数、形状
print('音乐行业收入信息表的元素个数为:', musicdata.size) 
print('音乐行业收入信息表的维度数为:', musicdata.ndim)
print('音乐行业收入信息表的形状为:', musicdata.shape)

代码解析
通过DataFramesize属性可以获取其元素的总个数,ndim属性可以获取其维度数(DataFrame是二维的,所以通常为2),shape属性可以获取其形状,即行数和列数。

三、DataFrame转置(代码3 - 11)

# 代码3-11
print('音乐行业收入信息表转置前形状为:', musicdata.shape)
print('音乐行业收入信息表转置后形状为:', musicdata.T.shape)

代码解析
DataFrameT属性可以将其进行转置操作,即行和列互换。这里先打印转置前的形状,再打印转置后的形状,方便对比。

四、使用字典访问和属性访问方式取出某一列(代码3 - 12、3 - 13)

# 代码3-12
# 使用字典访问的方式取出musicdata中的某一列
format = musicdata['format']
print('音乐行业收入信息表中的format的形状为:', format.shape)# 代码3-13
# 使用访问属性的方式取出musicdata中的number_of_records
number_of_records = musicdata.number_of_records
print('音乐行业收入信息表中的number_of_records的形状为:', number_of_records.shape)

代码解析
可以使用字典访问方式(如musicdata['format'])或属性访问方式(如musicdata.number_of_records)来获取DataFrame中的某一列。这里分别获取了format列和number_of_records列,并打印它们的形状。

五、取出某列或某几列的前几个元素(代码3 - 14、3 - 15)

# 代码3-14
metric5 = musicdata['metric'][:5]
print('音乐行业收入信息表中的metric前5个元素为:\n', metric5)# 代码3-15
format_metric = musicdata[['format', 'metric']][:5]
print('音乐行业收入信息表中的format和metric前5个元素为:\n', format_metric)

代码解析
通过切片操作可以获取某列或某几列的前几个元素。代码3 - 14获取了metric列的前5个元素,代码3 - 15获取了formatmetric两列的前5个元素。

六、取出DataFrame的某几行元素(代码3 - 16)

# 代码3-16
musicdata5 = musicdata[:][1:6]
print('音乐行业收入信息表的1~6行元素为:\n', musicdata5)

代码解析
使用切片操作[1:6]可以获取DataFrame的第2行到第6行的元素。

七、查看DataFrame的前几行和后几行数据(代码3 - 17)

# 代码3-17
print('音乐行业收入信息表中前5行数据为:\n', musicdata.head())print('音乐行业收入信息表中后5行元素为:\n', musicdata.tail())

代码解析
DataFramehead()方法可以查看其前几行数据(默认是前5行),tail()方法可以查看其后几行数据(默认是后5行)。

八、使用loc()和iloc()方法提取数据(代码3 - 18、3 - 19、3 - 20)

# 代码3-18
format1 = musicdata.loc[:, 'format']
print('使用loc()方法提取format列的size为:', format1.size)format2 = musicdata.iloc[:, 3]
print('使用iloc()方法提取第3列的size为:', format2.size)# 代码3-19
format_metric1 = musicdata.loc[:, ['format', 'metric']]
print('使用loc()方法提取format和metric列的size为:', format_metric1.size)    format_metric2 = musicdata.iloc[:, [1, 3]]
print('使用iloc()方法提取第1和第3列的size为:', format_metric2.size)# 代码3-20
print('列名为format和metric的行名为3的数据为:\n',musicdata.loc[3, ['format', 'metric']])print('列名为format和metric行名为2,3,4,5,6的数据为:\n',musicdata.loc[2: 6, ['format', 'metric']])print('列位置为1和3,行位置为3的数据为:\n', musicdata.iloc[3, [1, 3]])print('列位置为1和3,行位置为2,3,4,5,6的数据为:\n',musicdata.iloc[2: 7, [1, 3]])

代码解析
loc()方法是基于标签进行索引的,iloc()方法是基于位置进行索引的。代码3 - 18和3 - 19分别使用这两种方法提取列数据,代码3 - 20则使用这两种方法提取指定行和列的数据。

九、传入表达式提取数据(代码3 - 21、3 - 22)

# 代码3-21
# 传入表达式
print('musicdata中metric为“Units”的format为:\n',musicdata.loc[musicdata['metric'] == 'Units', ['format', 'metric']])print('musicdata中metric为“Units”的第1、4列数据为:\n',musicdata.iloc[musicdata['metric'] == 'Units', [1, 4]])# 代码3-22
print('musicdata中metric为“Units”的第1、4列数据为:\n',musicdata.iloc[(musicdata['metric'] == 'Units').values, [1, 4]])

代码解析
可以在loc()iloc()方法中传入布尔表达式来筛选数据。代码3 - 21和3 - 22分别使用这两种方法筛选出metricUnits的相关数据。

十、更改DataFrame中的数据(代码3 - 23)

# 代码3-23
# 将format值为CD的变换为数值1
print('更改前musicdata中format为CD的数据为:\n',musicdata.loc[musicdata['format'] == 'CD', 'format'])
musicdata.loc[musicdata['format'] == 'CD', 'format']=1
print('更改后musicdata中format为1的数据为:\n',musicdata.loc[musicdata['format'] == 1, 'format'])

代码解析
使用loc()方法可以定位到满足条件的数据,并对其进行修改。这里将format列中值为CD的数据修改为1。

十一、转换为时间序列数据并新增列(代码3 - 24、3 - 25)

# 代码3-24
# 转换为时间序列数据
dates = pd.to_datetime(musicdata['date'])
# 建立月份列
musicdata['month'] = dates.map(lambda x: x.month)
# 查看前5行
print('musicdata新增列month的前5行为:\n', musicdata['month'].head())![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3d148e812c7c4cdf9251e32e4d063ceb.png)# 代码3-25
musicdata['day'] = 15
print('musicdata新增列day的前5行为:\n', musicdata['day'].head())

代码解析
代码3 - 24先将date列转换为时间序列数据,然后使用map()方法提取月份信息,并将其作为新列month添加到DataFrame中。代码3 - 25则直接添加一个值全为15的新列day

十二、删除DataFrame的列或行(代码3 - 26、3 - 27)

# 代码3-26
print('删除day前musicdata的列索引为:\n', musicdata.columns)
musicdata.drop(labels='day', axis=1, inplace=True)
print('删除day后musicdata的列索引为:\n', musicdata.columns)# 代码3-27
print('删除1~3行前musicdata的长度为:', len(musicdata))
musicdata.drop(labels=range(1, 4), axis=0, inplace=True)
print('删除1~3行后musicdata的长度为:', len(musicdata))

代码解析
DataFramedrop()方法可以用于删除指定的列或行。axis=1表示删除列,axis=0表示删除行,inplace=True表示在原DataFrame上进行修改。

十三、计算平均值、描述性统计和频数统计(代码3 - 28、3 - 29、3 - 30、3 - 31)

在这里插入图片描述

# 代码3-28
import numpy as np
print('音乐行业收入信息表中number_of_records的平均值为:', np.mean(musicdata['number_of_records']))# 代码3-29
print('音乐行业收入信息表中number_of_records的平均值为:', musicdata['number_of_records'].mean())# 代码3-30
print('音乐行业收入信息表value_actual的描述性统计为:\n',musicdata['value_actual'].describe())

在这里插入图片描述


# 代码3-31
print('音乐行业收入信息 表format频数统计前6行结果为:\n',musicdata['format'].value_counts()[:6])

代码解析
代码3 - 28和3 - 29分别使用numpymean()函数和DataFramemean()方法计算number_of_records列的平均值。代码3 - 30使用describe()方法对value_actual列进行描述性统计,代码3 - 31使用value_counts()方法对format列进行频数统计。

十四、转变数据类型并进行描述统计(代码3 - 32、3 - 33)

# 代码3-32
musicdata['metric'] = musicdata['metric'].astype('category')
print('音乐行业收入信息表metric列转变数据类型后为:',musicdata['metric'].dtypes)  # 代码3-33
print('音乐行业收入信息表metric的描述统计结果为:\n',musicdata['metric'].describe())

代码解析
代码3 - 32使用astype()方法将metric列的数据类型转换为category类型,代码3 - 33对转换后的数据类型进行描述统计。

总结

通过本文的学习,你掌握了Python中pandas库的DataFrame的多种常用操作,包括连接数据库读取数据、查看基本信息、数据提取、数据修改、新增和删除列或行、数据统计等。这些操作在实际的数据处理和分析中非常有用,能够帮助你更高效地处理和分析数据。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com