Python實驗、Pandas資料處理與分析
阿新 • • 發佈:2020-12-20
Python實驗、Pandas資料處理與分析
1、內容
1 、 程式題 現有如下表格資料,請對該資料進行以下操作: ( 1 )建立一個結構如上圖所示的 DataFrame 物件。 ( 2 )將圖中的 B 列資料按降序排序。 ( 3 )將排序後的資料寫入到 CSV 檔案,取名為 write_data.csv 。 2 、 程式題 現有如下圖所示的兩組資料,其中 A 組中 B 列資料存在缺失值,並且該列 資料為 int 型別, B 組資料均為 str 型別。2、原始碼清單
1、程式題
import pandas as pd df_example=pd.DataFrame({'A':[1,2,7,3], 'B':[5,2,4,0], 'C':[8,4,2,5], 'D':[8,9,3,2]}) df_example=df_example.sort_values(by='B',ascending=False) print(df_example) df_example.to_csv(r'E:\實驗資料\write_data.csv',index=False)
2、程式題
import numpy as np
import pandas as pd
group_A=pd.DataFrame({'A':[2,3,5,2,3],
'B':[5,np.nan,2,3,6],
'C':[8,7,50,8,2],
'key':[3,4,5,2,5]},dtype=int)
group_B=pd.DataFrame({'A':[3,4,5],
'B':[3,4,5],
'C':[3,4,5]},dtype=str)
com=group_A.combine_first(group_B)
com.rename(columns={'key':'D'},inplace=True)
print(com)
3、北京鏈家資料分析
( 1 )讀取鏈家北京租房資料;import pandas as pd
import numpy as np
import seaborn as sns
file = open(r'E:\實驗資料\鏈家北京租房資料.csv')
data=pd.read_csv(file)
print(data)
#刪除資料中的重複值和缺失值
data.drop_duplicates()
#將“戶型”調整為“X室X廳”格式
data['戶型']=data['戶型'].str.replace('房間','室')
print(data['戶型'])
#將“面積”一列調整為數值格式
data['面積(㎡)'] = data['面積(㎡)'].map(lambda x: str(x)[:-2])
data['面積(㎡)']=data['面積(㎡)'].apply(pd.to_numeric)
data['面積(㎡)']=data['面積(㎡)'].astype(dtype='int')
print(data['面積(㎡)'].dtypes)
#使用箱型圖檢查“面積”和“價格”列中是否存在異常數值
data.boxplot(column=['價格(元/月)','面積(㎡)'])
#使用“區域”和“小區名稱”新增“位置”一列,形如“北京市 xx 區 xx”
data['位置'] = '北京市'+data['區域'].map(str)+'區'+data["小區名稱"].map(str)
print(data)
(
2
)對“戶型”、“面積”和“價格”以及每平米價格等資訊進行簡要的統計
分析,如每平米價格的最大值、最小值、平均值,“面積”的分箱區間統計,“戶
型”的種類統計等。
price_static1=np.mean(data['價格(元/月)']/data['面積(㎡)'])
price_static2=np.max(data['價格(元/月)']/data['面積(㎡)'])
price_static3=np.min(data['價格(元/月)']/data['面積(㎡)'])
area_static=pd.cut(data['面積(㎡)'],bins=25).value_counts()
house_type_count=data.groupby('戶型')
print('每平米價格平均值',price_static1)
print('每平米價格最大值',price_static2)
print('每平米價格最小值',price_static3)
print('面積的分箱區間統計結果:\n',area_static)
print('北京鏈家現有戶型種類及數量為:',house_type_count['戶型'].count())