【Python 練習(xí)題】Pandas 庫操作練習(xí)題
這個 Pandas 練習(xí)項目將幫助 Python 開發(fā)人員學(xué)習(xí)和練習(xí) Pandas。Pandas 是一個開源的、BSD 許可的 Python 庫。Pandas 是一種方便且有用的數(shù)據(jù)結(jié)構(gòu)工具,用于分析大型復(fù)雜數(shù)據(jù)。
練習(xí) DataFrame、數(shù)據(jù)選擇、分組依據(jù)、系列、排序、搜索、統(tǒng)計。使用 Pandas 練習(xí)數(shù)據(jù)分析。
在本練習(xí)中,我們使用汽車數(shù)據(jù)集進行數(shù)據(jù)分析。該數(shù)據(jù)集具有汽車的不同特征,例如車身風(fēng)格、軸距、發(fā)動機類型、價格、里程、馬力等。
汽車數(shù)據(jù)集:鏈接: https://pan.baidu.com/s/1UI-2mZIAWAJ58wqN2SzihA 提取碼: gjhk
練習(xí) 1:從給定的數(shù)據(jù)集中打印前五行和最后五行
預(yù)期輸出:
前 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))
練習(xí) 2:清理數(shù)據(jù)集并更新 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)
練習(xí) 3:找到最貴的汽車公司名稱
打印最貴汽車的公司名稱和價格。
預(yù)期輸出:
顯示解決方案:
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)
練習(xí) 4:打印所有豐田汽車的詳細信息
預(yù)期輸出:
顯示解決方案:
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)
練習(xí) 5:計算每家公司的汽車總數(shù)
預(yù)期結(jié)果:
顯示解決方案:
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)
練習(xí) 6:找到每家公司的最高價格汽車
預(yù)期結(jié)果:
顯示解決方案:
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)
練習(xí) 7:找到每家公司的最高價格汽車
預(yù)期結(jié)果:
顯示解決方案:
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)
練習(xí) 8:按價格列對所有汽車進行排序
預(yù)期結(jié)果:
顯示解決方案:
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))
練習(xí) 9:使用以下條件連接兩個數(shù)據(jù)框
使用以下兩個字典創(chuàng)建兩個數(shù)據(jù)框。
GermanCars = {'Company': ['Ford', 'Mercedes', 'BMV', 'Audi'], 'Price': [23845, 171995, 135925 , 71400]}
japaneseCars = {'Company': ['Toyota', 'Honda', 'Nissan', 'Mitsubishi '], 'Price': [29995, 23600, 61500 , 58900]}
預(yù)期結(jié)果:
顯示解決方案:
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)
練習(xí) 10:使用以下條件合并兩個數(shù)據(jù)框
使用以下兩個字典創(chuàng)建兩個數(shù)據(jù)框,合并兩個數(shù)據(jù)框,并將第二個數(shù)據(jù)框作為新列附加到第一個數(shù)據(jù)框。
Car_Price = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'Price': [23845, 17995, 135925 , 71400]}
car_Horsepower = {'Company': ['Toyota', 'Honda', 'BMV', 'Audi'], 'horsepower': [141, 80, 182 , 160]}
預(yù)期結(jié)果:
顯示解決方案:
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)
今天我們練習(xí)了 10 題有關(guān)于 Pandas 的練習(xí)題,完成每個問題后,您將更加熟悉使用 Pandas 進行數(shù)據(jù)分析,后續(xù)希望帶給大家更多的 Python 練習(xí)題和技巧