pandas基础教程
本文介绍了pandas数据处理的基本操作:1) 读取CSV文件(pd.read_csv)并预览数据(.head());2) 字符串处理(.str.replace)删除特定字符;3) 数据类型转换(.astype)将整型转为浮点型;4) 数值计算(.mean/.sum)和字符串匹配(.contains);5) 分组操作(.groupby)按指定列分组。这些操作涵盖了数据清洗、类型转换和基础分析的关键
import pandas as pd
导入pandas并且命名为pd
chip=pd.read_csv("chiporders.csv")
chip.head()
-
pd:这是pandas库的标准别名,代表你已经通过import pandas as pd导入了 pandas 库。pd.read_csv():这是 pandas 库中用于读取逗号分隔值(CSV)文件的核心函数。它会将 CSV 文件的内容读取到一个名为DataFrame的二维表格数据结构中。"chiporders.csv":这是你要读取的文件名(或文件路径)。程序会在当前工作目录下寻找这个文件。chip =:将读取后得到的 DataFrame 对象赋值给变量chip,这样你就可以通过chip这个变量来操作和分析整个数据集了。
-
chip.head()chip:这是你刚才创建的 DataFrame 变量。.head():这是 DataFrame 对象的一个方法,用于快速预览数据的前几行。- 默认情况下,
.head()会显示数据集中的前 5 行,帮助你快速了解数据的结构、列名和数据内容。你也可以传入参数来指定显示的行数,例如chip.head(10)会显示前 10 行
chip['choice_description'].str.replace('[','').str.replace(']','')
chip['choice_description']
从名为 chip 的 DataFrame 中,选取名为 choice_description 的列。
这会返回一个 pandas Series(一维数据结构),包含该列的所有数据。
.str
这是 pandas 为字符串类型的 Series 提供的字符串访问器(string accessor)。
它的作用是告诉 pandas,接下来要对 Series 中的每一个元素执行字符串操作。如果没有 .str,直接调用 .replace() 会被当作 Series 对象的通用替换方法,而不是字符串替换。
.replace('[','')
对 choice_description 列中的每一个字符串元素执行替换操作。
将字符串中所有的左方括号 [ 替换为空字符串 ''(即删除左方括号)。
.str.replace(']','')
这是链式操作,在上一步处理结果的基础上,继续执行新的字符串替换。
将字符串中所有的右方括号 ] 也替换为空字符串(即删除右方括号)。
chip['choice_description'].str.replace('[\[\]]','') #使用正则表达式替换多个匹配项
How do I change the data type of a pandas Series?
drinks=pd.read_csv("drinksbycountry.csv")
drinks.dtypes
-
drinks = pd.read_csv("drinksbycountry.csv")- 这行代码的作用是读取名为
"drinksbycountry.csv"的 CSV 文件,并将其内容存储在一个名为drinks的 pandas DataFrame 对象中。 pd.read_csv()是 pandas 中读取 CSV 文件的函数,drinks成为了包含该数据集的 DataFrame 变量。
- 这行代码的作用是读取名为
-
drinks.dtypesdrinks:指代上述创建的 DataFrame 对象。.dtypes:这是 DataFrame 对象的一个属性(不是方法,所以不需要加括号()),用于查看数据集中每一列的数据类型。
import numpy as np
drinks['beer_servings']=drinks['beer_servings'].astype(np.float64) #改变字段的数据类型
drinks.dtypes
-
import numpy as np- 导入
numpy库并简写为np。numpy是 Python 中用于数值计算的核心库,pandas底层也依赖于它。这里主要是为了使用np.float64这个数据类型常量。
- 导入
-
drinks['beer_servings'] = drinks['beer_servings'].astype(np.float64)drinks['beer_servings']:选取drinksDataFrame 中的beer_servings列。.astype(np.float64):这是 pandas Series 的方法,用于将列中的数据类型显式转换为指定的类型。这里是转换为numpy的 64 位浮点数类型。- 整个赋值语句的作用是:将
beer_servings列的数据类型从原来的整数(int64)修改为浮点数(float64),并将修改后的结果重新赋值给原列,永久改变该列的数据类型。
-
drinks.dtypes- 再次检查 DataFrame 中所有列的数据类型,目的是验证
beer_servings列的类型是否已经成功转换。
- 再次检查 DataFrame 中所有列的数据类型,目的是验证
drinks['spirit_servings']=drinks['spirit_servings'].astype(np.float64)
drinks['wine_servings']=drinks['wine_servings'].astype(np.float64)
drinks.dtypes
drinks['列名']:选中要修改的列(均为原整数类型int64);.astype(np.float64):将列数据显式转换为 64 位浮点数类型(支持小数、NaN缺失值,适配后续数值计算);
chip['item_price'].str.replace('$','').astype(np.float64).mean() #计算字段值的平均值
chip['item_price'].str.replace('$','').astype(np.float64).sum() #计算字段值的总和
chip.item_name.str.contains('Chicken').head() #判断字段值中是否包含指定的字符串
When should I use a "groupby" in pandas?
drinks.groupby('continent')
drinks: 这是你的 DataFrame 对象,包含了各个国家的饮酒数据。.groupby(): 这是 pandas 中用于 ** 分组(GroupBy)** 操作的核心方法。它的作用是根据指定的一个或多个列(称为分组键),将 DataFrame 中的数据分成若干个组(groups)。'continent': 这是分组键,即你希望按照哪个列的值来进行分组。在这里,数据会按照continent列中的不同值(如Asia,Europe,Africa等)被分成不同的组。
-------------------------------------------------------------------结束---------------------------------------------------------------------------------------------------------
Powered by doubao and people
更多推荐

所有评论(0)