数据统计函数

发布时间 2023-09-05 00:36:17作者: 慆慢险躁

pandas数据统计函数

  1. 汇总类统计

  2. 唯一去重和按值计数

  3. 相关系数和协方差

    import pandas as pd
    df=pd.read_excel('weater_beijing.xlsx')
    df.head(3)

<tr style="text-align: right;">
  <th></th>
  <th>日期</th>
  <th>最高温</th>
  <th>最低温</th>
  <th>天气</th>
  <th>风力风向</th>
  <th>空气质量指数</th>
</tr>
<tr>
  <th>0</th>
  <td>2011-01-01 周六</td>
  <td>-2°</td>
  <td>-7°</td>
  <td>多云~阴</td>
  <td>无持续风向微风</td>
  <td>NaN</td>
</tr>
<tr>
  <th>1</th>
  <td>2011-01-02 周日</td>
  <td>-2°</td>
  <td>-7°</td>
  <td>多云</td>
  <td>无持续风向微风</td>
  <td>NaN</td>
</tr>
<tr>
  <th>2</th>
  <td>2011-01-03 周一</td>
  <td>-2°</td>
  <td>-6°</td>
  <td>多云~阴</td>
  <td>西北风~北风3-4级~4-5级</td>
  <td>NaN</td>
</tr>
  1. 数据处理

    替换温度的后缀°

    df.loc[:,'最低温']=df['最低温'].str.replace("°","")
    df.loc[:,'最高温']=df['最高温'].str.replace("°","")

    将最低温中''替换成0

    df.loc[:,'最低温']=df['最低温'].replace('','0')

    将最高温和最低温列的obj类型转换成int型

    df.loc[:,'最低温']=df.loc[:,'最低温'].astype('int32')
    df.loc[:,'最高温']=df.loc[:,'最高温'].astype('int32')
    df.head(3)

    C:\Users\JDQ\AppData\Local\Temp\ipykernel_7928\2629460272.py:7: DeprecationWarning: In a future version, df.iloc[:, i] = newvals will attempt to set the values inplace instead of always setting a new array. To retain the old behavior, use either df[df.columns[i]] = newvals or, if columns are non-unique, df.isetitem(i, newvals)
    df.loc[:,'最低温']=df.loc[:,'最低温'].astype('int32')
    C:\Users\JDQ\AppData\Local\Temp\ipykernel_7928\2629460272.py:8: DeprecationWarning: In a future version, df.iloc[:, i] = newvals will attempt to set the values inplace instead of always setting a new array. To retain the old behavior, use either df[df.columns[i]] = newvals or, if columns are non-unique, df.isetitem(i, newvals)
    df.loc[:,'最高温']=df.loc[:,'最高温'].astype('int32')

<tr style="text-align: right;">
  <th></th>
  <th>日期</th>
  <th>最高温</th>
  <th>最低温</th>
  <th>天气</th>
  <th>风力风向</th>
  <th>空气质量指数</th>
</tr>
<tr>
  <th>0</th>
  <td>2011-01-01 周六</td>
  <td>-2</td>
  <td>-7</td>
  <td>多云~阴</td>
  <td>无持续风向微风</td>
  <td>NaN</td>
</tr>
<tr>
  <th>1</th>
  <td>2011-01-02 周日</td>
  <td>-2</td>
  <td>-7</td>
  <td>多云</td>
  <td>无持续风向微风</td>
  <td>NaN</td>
</tr>
<tr>
  <th>2</th>
  <td>2011-01-03 周一</td>
  <td>-2</td>
  <td>-6</td>
  <td>多云~阴</td>
  <td>西北风~北风3-4级~4-5级</td>
  <td>NaN</td>
</tr>
  1. 汇总类统计

    一下子提取所有数字列统计结果

    df.describe()

<tr style="text-align: right;">
  <th></th>
  <th>最高温</th>
  <th>最低温</th>
</tr>
<tr>
  <th>count</th>
  <td>4006.000000</td>
  <td>4006.000000</td>
</tr>
<tr>
  <th>mean</th>
  <td>18.728907</td>
  <td>8.546680</td>
</tr>
<tr>
  <th>std</th>
  <td>11.307744</td>
  <td>11.014696</td>
</tr>
<tr>
  <th>min</th>
  <td>-11.000000</td>
  <td>-19.000000</td>
</tr>
<tr>
  <th>25%</th>
  <td>8.000000</td>
  <td>-2.000000</td>
</tr>
<tr>
  <th>50%</th>
  <td>20.000000</td>
  <td>9.000000</td>
</tr>
<tr>
  <th>75%</th>
  <td>29.000000</td>
  <td>19.000000</td>
</tr>
<tr>
  <th>max</th>
  <td>40.000000</td>
  <td>27.000000</td>
</tr>
# 查看单个series的数据
# 最低温的平均值
df['最低温'].mean()



8.546679980029955





# 最低温中的最高温和最低温
print(df['最低温'].min())
print(df['最低温'].max())

-19
27
  1. 唯一去重和按值计数

2.1 唯一性去重

一般不用于数值列,而是枚举、分类列

df['天气'].unique()



array(['多云~阴', '多云', '晴', '晴~多云', '多云~晴', '阴~晴', '阴~多云', '多云~小雪', '小雪~晴',
       '阴~小雪', '多云~中雪', '小雪', '小雪~阴', '晴~阴', '多云~小雨', '小雨', '阴~小雨',
       '小雨~多云', '阴~阵雨', '阵雨~晴', '阵雨', '多云~阵雨', '中雨~小雨', '阴', '雷阵雨',
       '雷阵雨~阵雨', '雷阵雨~晴', '多云~雷阵雨', '雷阵雨~中雨', '阴~雷阵雨', '中雨~中到大雨',
       '小雨~中到大雨', '小到中雨~小雨', '阴~中雨', '小到中雨~中雨', '雾~多云', '大雨~大到暴雨',
       '大雨~中雨', '晴~雷阵雨', '中雨~大到暴雨', '阵雨~中雨', '雷阵雨~多云', '雷阵雨~阴', '雾',
       '多云~雾', '小雨~晴', '小雨~阴', '晴~小雪', '小雪~多云', '多云~雨夹雪', '雨夹雪~小雪',
       '雾~小雨', '阵雨~阴', '多云~', '阴~中到大雨', '浮尘', '晴~阵雨', '中雨~阴', '中雨~雷阵雨',
       '中雨', '雷阵雨~小到中雨', '小雨~雷阵雨', '中雨~暴雨', '中雨~大雨', '雷雨~阵雨', '雷雨~中雨',
       '小到中雨~阴', '阵雨~多云', '多云~雷雨', '雷雨~阴', '阵雨~雷雨', '雷雨~大到暴雨', '晴间多云~晴',
       '晴~雨夹雪', '阴~雾', '小雪~雾', '小雪~中雪', '雾~小雪', '小雪~多云间阴', '多云间晴~阴转晴',
       '晴转阴~晴间多云', '晴间多云', '晴间多云~晴转多云', '多云间晴,有轻雾~多云转阴,有轻雾',
       '阴有轻雾转小雪~小雪转多云', '晴转多云~晴间多云', '晴~晴间多云', '晴转多云~多云转阴有轻雾,北部山区有小雪',
       '阴有雾转晴~晴间多云,有雾', '晴转多云南部地区有雾~晴间多云,有雾', '零星小雪转多云,有雾霾~晴间多云,有雾霾',
       '晴转阴,有雾霾,西部山区有小雪~阴转小雪,并有雾', '阴有零星小雪转多云,有轻雾~多云,有轻雾',
       '晴间多云,南部地区有雾~晴间多云,有轻度雾霾', '晴转阴、有雾霾~阴有轻度雾霾转中雪,西部中到大雪',
       '阴有小雪~阴有零星小雪转多云,有雾', '多云转晴,有轻度雾霾~晴间多云,有轻雾',
       '晴转多云东南地区有雾~多云转阴,有雾,东南部地区有零星小雪', '阴转多云,有雾,东部有零星小雪~阴转晴,傍晚有雾霾',
       '晴~晴间多云,南部有轻雾', '晴间多云~晴间多云,东南部有雾', '晴间多云~晴间多云,平原地区有轻度雾霾',
       '晴间多云、有霾~晴间多云,有雾', '多云转晴,有雾霾~有雾', '雾~多云间阴,有雾霾,东南部地区有零星小雪',
       '多云间阴,有零星小雪,并有雾霾~阴有零星小雪,并有雾霾', '阴有小雪,并有雾霾~雾转多云,前半夜东部有小雪',
       '晴间多云~晴转阴,早晨有小雪', '阴有小雪~雾转晴,傍晚有零星小雪', '晴~晴转阴,明晨有小雪',
       '零星小雪转多云~晴间多云', '多云间晴,有轻微雾霾~多云间阴,有轻微雾霾', '多云转阴~阴、西南部地区有零星小雪',
       '阴,傍晚有小雪~小雪', '晴~晴间多云,有轻雾', '晴转多云,有轻度霾~多云,有轻度雾霾', '阴天间多云~多云转晴',
       '阴~多云间阴,有轻雾', '多云间晴~阴', '多云转晴~晴', '多云,有轻雾~轻度雾霾转晴', '晴间多云~晴转多云,有轻雾',
       '阴天间多云,平原地区有轻度雾霾~阴有雾霾,早晨有小雪', '阴有小雪~阴转多云,有雾', '晴间多云~晴间多云,有轻雾',
       '晴转多云,有轻度霾~晴转阴,有雾霾,东北部山区有小雨夹雪', '多云转晴,有沙尘~晴间多云,傍晚有沙尘', '多云间晴~多云转晴',
       '晴转多云,平原地区有轻微霾~多云间阴,有轻度雾霾', '多云转晴,有轻度雾霾~晴间多云',
       '多云间晴,有雾霾~多云转晴,有轻度雾霾', '晴转多云,有霾~多云转阴,有霾', '晴有沙尘~晴',
       '晴转多云~有霾,早晨转阴有小雨,北部山区有雨夹雪', '阴间多云有小雨,北部山区有小雨夹雪~多云转晴,有轻雾',
       '多云~晴间多云,有轻雾', '多云,有轻度雾霾~多云转阴有雾霾,北部有零星小雨', '晴间多云,有霾~多云间阴,有霾',
       '晴转多云~多云转阴,北部山区有雨夹雪', '雨夹雪转中雪,北部有中-大雪~阴有小雪转晴', '多云,有轻微雾霾~多云转晴',
       '晴间多云~晴转阴', '阴~晴间多云', '晴间多云~晴转多云,有轻微霾', '晴~霾', '阴~雨夹雪', '霾~小雨',
       '晴转多云局部地区有沙尘~多云间晴', '多云~多云间晴', '多云~多云转阴', '多云转阴,有阵雨~多云转晴',
       '多云转阴~阴,东部有阵雨转晴', '晴间多云~晴,有轻微霾', '晴间多云~晴间多云,有轻度雾霾', '霾~多云,有中度霾',
       '多云间晴,有轻度霾~多云间阴,有轻度霾', '阴天间多云有轻度霾,城区和南部有小阵雨~阴天间多云有阵雨',
       '阴有短时小阵雨~傍晚东部、南部有阵雨,夜间阴转晴', '阴~多云转晴', '晴转多云~多云间晴', '多云~多云转阴,北部有小雨',
       '阴,北部有小雨转晴~晴间多云', '多云转晴、有霾~多云转阴,有雷阵雨', '阴,北部地区有雷阵雨转晴~晴间多云',
       '晴间多云~多云间晴', '多云~阴天间多云,南部小阵雨', '多云间晴~阴转多云', '多云~多云转阴北部有阵雨',
       '阴~阴北部地区有阵雨转多云', '晴转多云~多云转阴', '阴有小到中雨~阴有小雨,并有轻雾',
       '多云,有轻雾~阴有轻雾,明晨西部有阵雨', '阴有小阵雨转多云~多云转晴', '多云转阴,北部山区有阵雨~多云转晴',
       '晴间多云~多云间阴,北部山区有阵雨', '阴有雾霾,午后-傍晚有雷阵雨~阴有雾霾,北部阵雨转晴', '阴有阵雨,北部地区有雷电',
       '阴有时有阵雨,有雾~阴有零星小雨,有雾', '阴有雾,有时有零星小雨~雾有小雨,北部小-中雨伴有雷电',
       '阴有中-大雨、局部地区有暴雨,伴有雷电,有雾~阴有阵雨,有雾', '阴有阵雨~雾转中到大雨', '阴有小-中雨~阴',
       '多云~多云转晴', '晴转多云~多云转晴', '晴转多云西部地区北部地区有雷阵雨~多云间晴', '多云间晴',
       '晴转多云~多云有轻度雾霾', '多云间晴~多云转阴有轻度雾霾', '阴有阵雨或雷阵雨~阴有小到中雨', '多云转阴~多云转晴',
       '多云间阴~阴天间多云', '多云间晴~阴天间多云', '阴有小雨~阴', '晴转多云~多云间阴',
       '多云转阴有雷阵雨~阴有雷阵雨转多云', '阴天间多云~阴有雷阵雨', '雾转多云~多云', '晴转多云有轻微雾霾~傍晚到夜间',
       '阴有轻度雾霾~阴有中到大雨', '阴~阴转阵雨', '阴有阵雨伴有弱雷电~阴有雷阵雨(局地中-大雨)',
       '下午到夜间:雾霾转大雨~傍晚-夜间:大雨', '晴转阴~阴转晴', '晴~晴转多云', '多云转阴~多云',
       '阴有雷阵雨或阵雨~阴有大雨', '阴有大雨~阴有小到中雨', '阴有阵雨', '阴转阵雨~阴转多云', '多云~晴转多云',
       '阴天间多云有轻微雾霾~多云有雾霾', '多云转阴有轻度雾霾~阴转大雨', '阴有中到大雨~阴有阵雨转晴', '晴转多云',
       '阴有阵雨或雷阵雨~阴有雷阵雨', '多云有轻度雾霾~晴间多云', '晴转阴~多云', '阴天间多云~多云转阴',
       '晴转多云~晴转阴', '下午到夜间~阴有阵雨', '阵雨~阴转晴', '多云转阴~阴有中-大雨', '阴有中雨~阴有雷阵雨',
       '晴转阴~阴有雷阵雨并伴有短时大风', '多云转阴傍晚有雷阵雨~阴有中雨', '阴有小到中雨~阴有阵雨转晴',
       '下午到夜间~阴有大雨到暴雨', '阴天间多云~多云间晴', '多云~多云转阴有雷阵雨', '阴天间多云~阴有雷阵雨转多云',
       '多云转阴~阴天间多云有阵雨', '阴有轻雾~多云间晴', '多云转晴~晴间多云', '多云间晴~晴间多云',
       '阴有小雨~阴转中雨', '阴有零星小雨转多云~阴转晴', '阴有中雨', '晴转多云~多云间阴有短时雷阵雨', '多云转晴~多云',
       '阴转阵雨~阴有雷阵雨', '多云~多云间阴', '多云转阴有雷阵雨~阴有雷阵雨', '阴天间多云~雾转雷阵雨',
       '多云转阴~多云转阴有阵雨', '阴天间多云有阵雨~阴有中雨', '阴有阵雨~阴转阵雨', '阴有阵雨转多云~多云转晴',
       '阴天间多云~阴转阵雨', '阴有分散性阵雨转多云~多云转晴', '多云转阴', '阴转多云~多云', '阴有雾霾~雾霾转阵雨',
       '小雨转多云~晴间多云', '晴转多云有轻度霾~多云有雾和霾', '阴~阴转多云', '多云~晴间多云', '多云~阴转小阵雨',
       '阴有小雨', '阴转多云~多云转晴', '多云转阴有轻度霾~阴有霾', '多云间晴~晴转多云', '多云转阴~雾霾',
       '多云~多云转阴有雾霾', '阴天间多云有霾~傍晚阴', '多云转阴~多云间阴', '多云有轻度霾~多云转晴',
       '晴转多云~多云转阴平原地区有霾', '晴转多云~多云', '晴转多云~多云转阴有小雪', '晴~晴转阴', '阴~阴有轻雾',
       '阴转晴~晴间多云', '晴间多云~多云间阴', '多云~多云转阴有雾', '阴天间多云~阴转多云', '晴间多云~多云转晴',
       '阴~中雪', '阴有小雪~零星小雪转多云', '阴有小雪~阴转多云有轻雾', '多云转晴~晴转多云', '多云转阴~阴有零星小雪',
       '阴天间多云~阴有雾', '多云有霾~多云间阴', '多云转阴~阴有轻雾', '霾转阴~傍晚阴转零星小雨', '多云转阴~阴转阵雨',
       '多云间阴有零星小雨~多云间晴', '晴间多云~多云', '多云转阴~阴', '晴间多云~晴转多云有轻度霾',
       '多云转阴有浮尘~阴', '阴转多云~多云间阴', '多云有霾~多云间晴', '多云转阴~阴转多云', '多云间阴~多云转阴有小雨',
       '多云~多云转阴有轻雾', '阴天间多云~晴间多云', '多云间阴', '多云转阴有雷阵雨~傍晚有浮尘',
       '多云转阴有雷阵雨~阴有雷阵雨转晴', '晴转多云~阴转晴', '晴转阴有雷阵雨~多云间晴有扬沙', '阴~阴天间多云',
       '阴转阵雨~阴有小?中雨', '阴有小雨转多云~阴转晴', '晴转多云~傍晚到夜间:多云', '晴转多云~傍晚多云间阴',
       '晴转阴~阴有雷阵雨', '阴有零星小雨转多云~阴', '多云有浮尘转晴~晴间多云', '多云转阴~阴有阵雨',
       '阴天间多云~傍晚大部地区有雷阵雨', '多云转阴有雷阵雨~傍晚阴有弱雷阵雨', '阴有中-大雨~阴',
       '多云转阴有雷阵雨伴有短时大风~傍晚阴有雷阵雨伴有短时大风', '晴转阴有雷阵雨~多云间晴',
       '阴天间多云有雷阵雨~傍晚到夜间:阴有雷阵雨转多云', '多云转阴有雷阵雨~傍晚阴有雷阵雨', '晴转多云~傍晚多云',
       '多云转阴有雷阵雨~雷阵雨转阴', '下午到夜间:中-大雨~傍晚到前半夜阴有中雨', '多云转阴有雷阵雨~傍晚阴有中雨',
       '晴转阴有雷阵雨~傍晚阴', '多云间晴~多云间阴', '多云转阴有雷阵雨~多云转晴', '晴转多云~多云转阴有雷阵雨',
       '阴转雷阵雨~阴有雷阵雨转多云', '晴转阴~傍晚多云间阴', '多云间晴~多云', '下午到夜间阴转大雨~傍晚到夜间阴有大雨',
       '阴天间多云~阴', '轻雾转雷阵雨~傍晚-夜间阴有雷阵雨转多云', '多云~傍晚:多云间阴',
       '多云有轻度霾~多云转阴北部有雷阵雨', '晴转多云~傍晚本市大部地区有分散性雷阵雨',
       '晴转多云~傍晚:有分散性雷阵雨 夜间:多云转晴', '晴转多云有分散性雷阵雨~多云', '阴转雷阵雨~傍晚到夜间阴有雷阵雨转多云',
       '多云~阴西部北部有雷阵雨转多云', '多云~晴间多云有轻雾', '阴天间多云', '阴天间多云~傍晚到夜间阴有分散性阵雨转多云',
       '阴有阵雨~傍晚', '中雨~雷雨', '雷雨', '雷雨~暴雨', '小到中雨~阵雨', '阴~雷雨', '阵雨~小雨',
       '晴~雾', '霾', '霾~雾', '小雨~雾', '雾~晴', '霾~小雪', '霾~多云', '小雪~霾', '霾~晴',
       '霾~阴', '小到中雪', '扬沙~晴', '浮尘~多云', '小雨~小到中雨', '阵雨~小到中雨', '雷雨~多云',
       '中到大雨~阴', '雷雨~晴', '雷阵雨~中到大雨', '雷阵雨~大雨', '阴~小到中雨', '小到中雨',
       '小到中雨~中到大雨', '霾~阵雨', '小雨~雨夹雪', '小雨~小雪', '雨夹雪~中雪', '大雪~小雪', '霾~雨夹雪',
       '多云~霾', '霾~雷阵雨', '暴雨~小到中雨', '雷阵雨~大到暴雨', '大雨~阵雨', '雨夹雪~大雪', '雨夹雪',
       '雨夹雪~阴', '大雨', '小雨~阵雨', '中雨~阵雨', '中雨~小到中雨', '大雨~小雨', '小雨~大雨',
       '暴雨~雷阵雨', '小雨~中雨', '中雨~多云', '雷阵雨~小雨', '多云~中雨', '阴~霾', '中雪~多云',
       '雾~雨夹雪', '暴雪~阴', '中雪~晴', '雨夹雪~小雨', '晴~小雨', '浮尘~扬沙', '中雨~晴', '浮尘~晴',
       '多云~暴雨', '雨夹雪~多云', '雨夹雪~雾', '扬沙~浮尘', '雾~浮尘', '扬沙', '阴~浮尘', '多云~扬沙',
       '阴~大雨', '暴雨~小雨', '小雨~大雪'], dtype=object)



df['风力风向'].unique()



array(['无持续风向微风', '西北风~北风3-4级~4-5级', '北风5-6级', '北风~无持续风向3-4级~微风',
       '无持续风向~北风微风~3-4级', '北风3-4级', '北风4-5级', '北风4-5级~3-4级',
       '无持续风向~北风微风~4-5级', '北风3-4级~4-5级', '北风~无持续风向4-5级~微风',
       '无持续风向~东北风微风~3-4级', '南风3-4级', '西南风~北风3-4级', '北风5-6级~4-5级',
       '北风3-4级~5-6级', '南风~无持续风向3-4级~微风', '北风5-6级~3-4级', '西北风5-6级~4-5级',
       '西北风~无持续风向3-4级~微风', '东南风~无持续风向3-4级~微风', '西风~无持续风向3-4级~微风',
       '西北风4-5级', '南风~北风3-4级~4-5级', '无持续风向~微风~', '北风~无持续风向5-6级~微风',
       '南风~北风3-4级', '微风~北风小于3级~5-6级', '北风~微风4-5级~小于3级', '微风小于3级',
       '北风~微风3-4级~小于3级', '微风~北风小于3级~4-5级', '微风~北风小于3级~3-4级',
       '北风~微风5-6级~小于3级', '无持续风向~北风微风~5-6级', '西北风~北风5-6级~3-4级',
       '北风6-7级~5-6级', '东北风~无持续风向3-4级~微风', '北风~东北风4-5级~3-4级', '北风微风',
       '北风5-6级~微风', '北风4-5级~5-6级', '东风~无持续风向3-4级~微风', '北风6-7级',
       '南风4-5级~3-4级', '东风微风', '无持续风向4-5级', '南风1-2级', '北风1-2级', '西北风3-4级',
       '无持续风向3-4级', '东南风1-2级', '西南风1-2级', '东北风4-5级', '西南风3-4级', '东风1-2级',
       '西北风1-2级', '东北风3-4级', '东北风1-2级', '西风1-2级', '西北风5-6级', '东南风3-4级',
       '东南风4-5级', '南风4-5级', '西风4-5级', '西南风4-5级', '西北风2级', '东南风1级',
       '东北风2级', '西南风1级', '东北风1级', '东北风3级', '西北风3级', '西北风1级', '东南风2级',
       '西南风2级', '西北风4级', '东南风3级', '西南风3级', '东北风4级', '北风2级', '南风2级',
       '北风1级', '南风1级', '南风3级', '东风2级', '北风3级', '西风3级', '东风1级', '西风2级',
       '西风1级', '西北风微风', '西南风微风', '东北风微风', '南风微风', '东南风微风', '西风4级', '东风3级'],
      dtype=object)

2.2 按值计数

df['天气'].value_counts()



晴                  985
多云                 445
晴~多云               327
多云~晴               322
阴~多云               127
                  ... 
多云间晴~阴天间多云           1
多云间阴~阴天间多云           1
阴有阵雨或雷阵雨~阴有小到中雨      1
多云间晴~多云转阴有轻度雾霾       1
小雨~大雪                1
Name: 天气, Length: 418, dtype: int64

3.3 相关系数和协方差

对于两个变量X,Y:

  1. 协方差:衡量同向反向程度,如果协方差为正,说明X,Y同向变化,协方差越大说明同向程度越高:如果协方差为负,说明X,Y反向运动,协方差越小说明反向程度越高

  2. 相关系数:衡量相似程度,当他们的相关系数为1时,说明两个变量变化时的正向相似度最大,当相关系数为-1时,说明两个变量变化的反向相似度最大

    协方差矩阵:

    df.cov()

    C:\Users\JDQ\AppData\Local\Temp\ipykernel_7928\1884364363.py:2: FutureWarning: The default value of numeric_only in DataFrame.cov is deprecated. In a future version, it will default to False. Select only valid columns or specify the value of numeric_only to silence this warning.
    df.cov()

<tr style="text-align: right;">
  <th></th>
  <th>最高温</th>
  <th>最低温</th>
</tr>
<tr>
  <th>最高温</th>
  <td>127.865067</td>
  <td>119.961971</td>
</tr>
<tr>
  <th>最低温</th>
  <td>119.961971</td>
  <td>121.323538</td>
</tr>
# 相关系数矩阵
df.corr()

C:\Users\JDQ\AppData\Local\Temp\ipykernel_7928\1171284631.py:2: FutureWarning: The default value of numeric_only in DataFrame.corr is deprecated. In a future version, it will default to False. Select only valid columns or specify the value of numeric_only to silence this warning.
  df.corr()
<tr style="text-align: right;">
  <th></th>
  <th>最高温</th>
  <th>最低温</th>
</tr>
<tr>
  <th>最高温</th>
  <td>1.000000</td>
  <td>0.963153</td>
</tr>
<tr>
  <th>最低温</th>
  <td>0.963153</td>
  <td>1.000000</td>
</tr>
# 单独查看最高温和最低温的相关系数
df['最低温'].corr(df['最高温'])



0.9631526069462355






# 最低温和温差的相关系数
df['最低温'].corr(df['最高温']-df['最低温'])



-0.04061175132650638