1. 程式人生 > 其它 >Python實驗、Pandas資料處理與分析

Python實驗、Pandas資料處理與分析

技術標籤:Python實驗python資料分析

Python實驗、Pandas資料處理與分析

1、內容

1 程式題 現有如下表格資料,請對該資料進行以下操作: 1 )建立一個結構如上圖所示的 DataFrame 物件。 2 )將圖中的 B 列資料按降序排序。 3 )將排序後的資料寫入到 CSV 檔案,取名為 write_data.csv 2 程式題 現有如下圖所示的兩組資料,其中 A 組中 B 列資料存在缺失值,並且該列 資料為 int 型別, B 組資料均為 str 型別。
1 )使用 DataFrame 建立這兩組資料。 2 )使用 B 組的資料對 A 組中的缺失值進行填充,並保持資料型別一致。 3 )將合併後 A 組中索引名為 key 的索引重新命名為 D 3 、北京租房資料統計分析 1 )讀取鏈家北京租房資料; 刪除資料中的重複值和缺失值; 將“戶型”一列統一調整為“ x x 廳”格式; 將“面積”一列調整為數值格式; 使用箱形圖檢查“面積”和“價格”列中是否存在異常資料; 使用“區域”和“小區名稱”新增“位置”一列,形如“北京市 xx
xx ”; 2 )對“戶型”、“面積”和“價格”以及每平米價格等資訊進行簡要的 統計分析,如每平米價格的最大值、最小值、平均值,“面積”的分箱區間統計, “戶型”的種類統計等

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())