Python科研数据分析专题之描述性统计

保姆级教程 | Pandas科研数据分析专题(四)

  • 数据的描述性统计
    • 实证类论文
    • 时间序列分析类论文

数据的描述性统计

Sim_Jackson | 2023

  • 经常出现的数据描述性统计表格,在研究论文中多出现在<数据与变量>章节,描述所获得的数据。

实证类论文

  • [1] 付志刚,沈慧娟,王伟,傅国彬,周路军.机构投资者调研行为动机:推高股价,抑或拉升业绩?[J].投资研究,2021,40(10):88-102.

    描述:

“运用python软件对数据进行整理,并得到上述变量的描述性统计如表2所示。在整个样本时内,不同时间段的累积收益率出现较大的差异,其中机构投资者调研1季度后,股价平均上涨1.2324,半年后,股价平均上涨-0.7610,说明呈现下降,1年后股价平均上涨 0.6440,而 2年后至 3年后股价又呈现下跌的趋势。这说明机构投资者调研后,股价仍先上升后下跌、再上升再下跌的波动特征。”

机构投资者调研平均每季达到 2.3637 次,对应标准差为 1.1456,其中最小达到 0.6931,最大达到6.7935。 说明机构投资者对不同股票的关注度存在差异,其中某些股票可能正处于当时热点板块,则关注度较高;有些股票虽然业绩较好,可能并不是热点,关注度可能会比较小。

Python科研数据分析专题之描述性统计_第1张图片

时间序列分析类论文

  • [2] 范丽伟,董欢欢,渐令.基于滚动时间窗的碳市场价格分解集成预测研究[J/OL].中国管理科学:1-14[2023-01-17].
    Python科研数据分析专题之描述性统计_第2张图片
# 导入需要的第三方库
import pandas as pd
import os
import warnings
warnings.filterwarnings('ignore')
dir_ = r'D:\科研论文\Python\数据分析'
os.chdir(dir_)
files = os.listdir(dir_) # 将该地址下的文件都列出来
files # finaldata为填补完缺失值之后的数据
['data.xlsx', 'finaldata.csv', 'google.csv', 'reaseach_data.xlsx']
# 数据读取
df = pd.read_csv(files[1]) # 1即为第2个,'finaldata.csv'
df
time X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
0 2020-01-02 6985.47 3257.85 1527.100000 96.81 61.18 12.47 2.13 4 49 72
1 2020-01-03 7344.88 3234.85 1548.750000 96.91 63.04 14.02 2.11 8 47 65
2 2020-01-06 7769.22 3246.28 1573.100000 96.62 62.83 13.85 2.15 7 46 14
3 2020-01-07 8163.69 3237.18 1567.850000 96.96 62.69 13.79 2.16 7 35 17
4 2020-01-08 8079.86 3253.05 1571.950000 97.34 59.98 13.45 2.15 10 53 57
... ... ... ... ... ... ... ... ... ... ... ...
752 2022-12-23 16796.95 3844.82 1789.400408 104.32 79.35 20.87 5.12 44 65 12
753 2022-12-27 16717.17 3829.25 1789.400408 104.20 79.87 21.65 5.21 47 58 0
754 2022-12-28 16552.57 3783.22 1803.350000 104.53 78.86 22.14 4.71 50 40 18
755 2022-12-29 16642.34 3849.28 1813.750000 103.97 78.71 21.44 4.56 51 67 44
756 2022-12-30 16602.59 3839.50 1789.400408 103.49 80.51 21.67 4.43 42 53 25

757 rows × 11 columns

df.describe()
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
count 757.000000 757.000000 757.000000 757.000000 757.000000 757.000000 757.000000 757.000000 757.000000 757.000000
mean 28911.789841 3861.127292 1789.400408 97.445548 67.226354 24.850159 4.122411 53.768824 48.177015 28.348745
std 17146.077185 551.471131 100.947388 6.094840 24.565988 8.753701 2.136611 27.310592 20.301897 23.541417
min 4970.790000 2237.400000 1474.250000 89.410000 12.930000 12.100000 1.440000 4.000000 10.000000 0.000000
25% 11601.470000 3401.200000 1733.550000 92.710000 45.520000 19.370000 2.480000 28.000000 31.000000 11.000000
50% 23336.000000 3915.590000 1790.450000 96.080000 68.220000 23.140000 3.620000 63.000000 47.000000 23.000000
75% 43160.930000 4319.940000 1857.350000 100.350000 85.030000 27.990000 5.600000 75.000000 62.000000 43.000000
max 67566.830000 4796.560000 2067.150000 114.150000 124.770000 82.690000 9.760000 100.000000 100.000000 100.000000
释义:
count:样本量
mean:平均值
std:标准差
min:最小值
25%:1/4分位数
50%:中位数
df1 = df.drop(columns = 'time')
collst=df1.columns
collst
Index(['X1', 'X2', 'X3', 'X4', 'X5', 'X6', 'X7', 'X8', 'X9', 'X10'], dtype='object')
# 偏度
print("偏度统计结果为:")
for col in collst:
    print(col,round(df1[col].skew(),2))
偏度统计结果为:
X1 0.36
X2 -0.47
X3 -0.36
X4 0.87
X5 0.07
X6 2.55
X7 0.77
X8 -0.53
X9 0.41
X10 0.82
# 峰度
print("峰度统计结果为:")
for col in collst:
    print(col,round(df1[col].kurt(),2))
峰度统计结果为:
X1 -1.17
X2 -0.5
X3 0.2
X4 -0.18
X5 -0.75
X6 10.53
X7 -0.48
X8 -1.06
X9 -0.52
X10 0.19

你可能感兴趣的:(Python科研数据分析,pandas,python,人工智能)