求标准差、均值、中位数等:
#求分月分租售的成交周期中位数
import numpy as np
import pandas as pd
df=pd.read_excel(r'd:\Users\zhanggl21\Desktop\成交数据\ctm成交数据探索(2021年1月-2021年5月).xlsx',\
sheet_name='成交周期中位数')
#看各月买卖的成交周期标准差、均值和中位数
for y in range(1,6):
print('2021年'+str(y)+'月买卖','标准差为:',np.std(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='买卖')]['成交周期(天)']),\
'平均数为:',np.mean(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='买卖')]['成交周期(天)']),\
'中位数为:',np.median(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='买卖')]['成交周期(天)']),\
'最大最小值为:','({},{})'.format(np.max(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='买卖')]['成交周期(天)']), \
np.min(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='买卖')]['成交周期(天)'])),\
sep='\n',end='\n\n\n')
#看各月租赁的成交周期标准差、均值和中位数
for y in range(1,6):
print('2021年'+str(y)+'月租赁','标准差为:',np.std(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='租赁')]['成交周期(天)']),\
'平均数为:',np.mean(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='租赁')]['成交周期(天)']),\
'中位数为:',np.median(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='租赁')]['成交周期(天)']),\
'最大最小值为:','({},{})'.format(np.max(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='租赁')]['成交周期(天)']), \
np.min(df[(df.成交月份=='2021年'+str(y)+'月')&(df.成交类型=='租赁')]['成交周期(天)'])),\
sep='\n',end='\n\n\n')
#看5个月整体
print('5个月整体数据描述--买卖:',df[df.成交类型=='买卖']['成交周期(天)'].describe(),sep='\n',end='\n\n')
print('5个月整体数据描述--租赁:',df[df.成交类型=='租赁']['成交周期(天)'].describe(),sep='\n',end='\n\n')
画散点图、求相关系数:
corr_yj_price=df[df.成交月份=='2021年1月']
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='simhei'
plt.figure(figsize=(16,7),dpi=300)
plt.scatter(corr_yj_price['成交金额'],corr_yj_price['CTM业绩'],color='r')
plt.annotate('相关系数为 %s' % format(corr_yj_price['成交金额'].\
corr(corr_yj_price['CTM业绩'],method='spearman'),'.3f'),\
xy=(2.5,400000),color='m',fontsize=15)
plt.title('2021年1月上海中原网络成交--金额&业绩的相关程度',fontsize=16)
plt.xlabel('房源金额')
plt.ylabel('CTM业绩')
plt.show()
help(plt.scatter)
求数据的峰度和偏度:
import pandas as pd
df=pd.read_excel(r'd:\Users\zhanggl21\Desktop\成交数据\ctm成交数据探索(2021年1月-2021年5月).xlsx',\
sheet_name='D成交金额与业绩的相关程度')
#计算峰度和偏度
print('成交金额峰度:',df['成交金额'].kurt(),'业绩峰度:',df['CTM业绩'].kurt())
print('成交金额偏度:',df['成交金额'].skew(),'业绩偏度:',df['CTM业绩'].skew())
#因为偏度和峰度都远大于1,不符合正态分布,因此相关系数用spearman
print('2021年1月成交金额与业绩的相关程度:',df[df.成交月份=='2021年1月'].corr('spearman'),sep='\n',end='\n\n')
print('2021年2月成交金额与业绩的相关程度:',df[df.成交月份=='2021年2月'].corr('spearman'),sep='\n',end='\n\n')
print('2021年3月成交金额与业绩的相关程度:',df[df.成交月份=='2021年3月'].corr('spearman'),sep='\n',end='\n\n')
print('2021年4月成交金额与业绩的相关程度:',df[df.成交月份=='2021年4月'].corr('spearman'),sep='\n',end='\n\n')
print('2021年5月成交金额与业绩的相关程度:',df[df.成交月份=='2021年5月'].corr('spearman'),sep='\n',end='\n\n')