Python实验|Python实验、Pandas数据处理与分析

Python实验、Pandas数据处理与分析 1、内容 1 、 程序题现有如下表格数据,请对该数据进行以下操作:Python实验|Python实验、Pandas数据处理与分析
文章图片
( 1 )创建一个结构如上图所示的DataFrame对象。( 2 )将图中的B列数据按降序排序。( 3 )将排序后的数据写入到CSV文件,取名为write_data.csv 。2 、 程序题现有如下图所示的两组数据,其中A组中B列数据存在缺失值,并且该列数据为int类型, B组数据均为str类型。Python实验|Python实验、Pandas数据处理与分析
文章图片
Python实验|Python实验、Pandas数据处理与分析
文章图片
( 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)

【Python实验|Python实验、Pandas数据处理与分析】3、北京链家数据分析
( 1 )读取链家北京租房数据;
import pandas as pd import numpy as np import seaborn as sns file = open(r'E:\实验数据\链家北京租房数据.csv') data=https://www.it610.com/article/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())

    推荐阅读