数据的特征分析及房价增幅与M2增幅的相关性案例(axis=1为横向,axis=0为纵向)

数据的排序

.sort_index()方法在指定轴上根据索引进行排序,默认升序

.sort_index(axis=0, ascending=True)

axis=0 表示的是纵轴 ascending表示是否为递增排序,默认为true

 axis为1

 这个by是根据你哪个轴的索引进行排序 

 NaN统一放到排序末尾

数据的基本统计分析

我在学习时经常用到axis=0或1,那么axis=0或者1到底是什么意思呢?

axis=1为横向,axis=0为纵向

 下面是运用

 

数据的累加统计分析

  同理,给出前n的数的和,积,最大值,最小值 

 

就是相邻元素的,也就是前w个元素之和 

数据的相关分析

 

 实例:房价增幅与M2增幅的相关性

数据准备
        首先需要准备好房价增幅和M2增幅的数据,可以从数据源获取或手动输入。假设我们已经得到了一个包含每月房价增幅和M2增幅的CSV文件,可以使用pandas库读取数据: 

import pandas as pd

df = pd.read_csv('data.csv', index_col=0)

         其中,data.csv是存储数据的文件名,index_col=0表示使用第一列作为索引。

计算相关系数
        接下来,需要计算房价增幅和M2增幅的相关系数,可以使用numpy库中的corrcoef函数:

import numpy as np

price_increase = df['House price growth']
m2_increase = df['M2 increase']
corr = np.corrcoef(price_increase, m2_increase)[0, 1]
print('相关系数:', corr)

 其中,price_increase和m2_increase分别是房价增幅和M2增幅所在的列,corrcoef函数返回一个矩阵,取其第一行第二列的元素即为相关系数。

可视化展示
        最后,可以使用matplotlib库将房价增幅和M2增幅的变化趋势可视化展示出来。以下是一个简单的例子:

import matplotlib.pyplot as plt

plt.plot(price_increase, label='House price growth')
plt.plot(m2_increase, label='M2 increase')
plt.legend()
plt.show()

其中,plt.plot函数分别画出了房价增幅和M2增幅的曲线,plt.legend函数用于显示图例,plt.show函数将图像显示出来。

将上述代码整合在一起,可以得到完整的程序:

#!/usr/bin/env python
# -- coding: utf-8 --
# @Time : 2023/4/4 20:51
# @File :  实例:房价增幅与M2增幅的相关性.py
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('mac72-uber3.csv', index_col=0)
price_increase = df['House price growth']
m2_increase = df['M2 increase']
corr = np.corrcoef(price_increase, m2_increase)[0, 1]
print('相关系数:', corr)

plt.plot(price_increase, label='House price growth')
plt.plot(m2_increase, label='M2 increase')
plt.legend()
plt.show()

以下是一个示例的data.csv文件内容:

date,House price growth,M2 increase
2023.1,0.02,0.038
2023.2,0.03,0.036
2023.3,0.04,0.034
2023.4,0.05,0.032
2023.5,0.06,0.03
2023.6,0.04,0.028
2023.7,0.03,0.026
2023.8,0.02,0.024
2023.9,0.01,0.022
2023.10,0.02,0.02
2023.11,0.03,0.018
2023.12,0.04,0.016

最终效果 

猜你喜欢

转载自blog.csdn.net/weixin_64612659/article/details/129937634