【Python 练习题】Pandas 库操作练习题
这个 Pandas 练习项目将帮助 Python 开发人员学习和练习 Pandas。Pandas 是一个开源的、BSD 许可的 Python 库。Pandas 是一种方便且有用的数据结构工具,用于分析大型复杂数据。
练习 DataFrame、数据选择、分组依据、系列、排序、搜索、统计。使用 Pandas 练习数据分析。
在本练习中,我们使用汽车数据集进行数据分析。该数据集具有汽车的不同特征,例如车身风格、轴距、发动机类型、价格、里程、马力等。
汽车数据集:链接: https://pan.baidu.com/s/1UI-2mZIAWAJ58wqN2SzihA 提取码: gjhk
练习 1:从给定的数据集中打印前五行和最后五行
预期输出:
前 5 行
后 5 行
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
#显示前5行
print(df.head(5))
#显示后5行
print(df.tail(5))
练习 2:清理数据集并更新 CSV 文件
替换包含所有列值?,n.a 或 NaN。
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv",na_values={
'price':["?","n.a"],
'stroke':["?","n.a"],
'horsepower':["?","n.a"],
'peak-rpm':["?","n.a"],
'average-mileage':["?","n.a"]})
print (df)
练习 3:找到最贵的汽车公司名称
打印最贵汽车的公司名称和价格。
预期输出:
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
df = df [['company','price']][df.price==df['price'].max()]
print (df)
练习 4:打印所有丰田汽车的详细信息
预期输出:
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
car_Manufacturers = df.groupby('company')
toyotaDf = car_Manufacturers.get_group('toyota')
print(toyotaDf)
练习 5:计算每家公司的汽车总数
预期结果:
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
car_Manufacturers = df.groupby('company')
toyotaDf = car_Manufacturers.get_group('toyota')
print(toyotaDf)
练习 6:找到每家公司的最高价格汽车
预期结果:
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
car_Manufacturers = df.groupby('company')
priceDf = car_Manufacturers['company','price'].max()
print(priceDf)
练习 7:找到每家公司的最高价格汽车
预期结果:
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
car_Manufacturers = df.groupby('company')
mileageDf = car_Manufacturers['company','average-mileage'].mean()
print(mileageDf)
练习 8:按价格列对所有汽车进行排序
预期结果:
显示解决方案:
import pandas as pd
#引入csv路径
df = pd.read_csv(r"D:\Python\Automobile_data.csv")
carsDf = df.sort_values(by=['price', 'horsepower'], ascending=False)
print(carsDf.head(5))
练习 9:使用以下条件连接两个数据框
使用以下两个字典创建两个数据框。
GermanCars = {'Company': ['Ford', 'Mercedes', 'BMV', 'Audi'], 'Price': [23845, 171995, 135925 , 71400]}
japaneseCars = {'Company': ['Toyota', 'Honda', 'Nissan', 'Mitsubishi '], 'Price': [29995, 23600, 61500 , 58900]}
预期结果:
显示解决方案:
import pandas as pd
GermanCars = {'Company': ['Ford', 'Mercedes', 'BMV', 'Audi'], 'Price': [23845, 171995, 135925 , 71400]}
carsDf1 = pd.DataFrame.from_dict(GermanCars)
japaneseCars = {'Company': ['Toyota', 'Honda', 'Nissan', 'Mitsubishi '], 'Price': [29995, 23600, 61500 , 58900]}
carsDf2 = pd.DataFrame.from_dict(japaneseCars)
carsDf = pd.concat([carsDf1, carsDf2], keys=["Germany", "Japan"])
print(carsDf)
练习 10:使用以下条件合并两个数据框
使用以下两个字典创建两个数据框,合并两个数据框,并将第二个数据框作为新列附加到第一个数据框。
Car_Price = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'Price': [23845, 17995, 135925 , 71400]}
car_Horsepower = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'horsepower': [141, 80, 182 , 160]}
预期结果:
显示解决方案:
import pandas as pd
Car_Price = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'Price': [23845, 17995, 135925 , 71400]}
carPriceDf = pd.DataFrame.from_dict(Car_Price)
car_Horsepower = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'horsepower': [141, 80, 182 , 160]}
carsHorsepowerDf = pd.DataFrame.from_dict(car_Horsepower)
carsDf = pd.merge(carPriceDf, carsHorsepowerDf, on="Company")
print(carsDf)
今天我们练习了 10 题有关于 Pandas 的练习题,完成每个问题后,您将更加熟悉使用 Pandas 进行数据分析,后续希望带给大家更多的 Python 练习题和技巧