python打开文件_用Python(in PsychoPy)打开SPSS数据文件

用Python(in PsychoPy)打开SPSS数据文件

         有时,要访问SPSS的sav文件中的内容,而手里电脑没有SPSS软件,或者需要对SPSS数据文件中的数据进行SPSS支持不够好的操作,如对一组数据反复多次抽样。可以使用Python中的Pandas模块来访问SPSS的数据文件。

         这里以PsychoPy中的Python编程环境为例,探索一下如何打开SPSS的.sav文件。现在我手里有一个保存了某个学校的某次考试成绩的数据文件,名为“成绩.sav”,其中有三个变量分别名为“语文”、“数学”及“物理”,即保存了这三科的成绩。

219d1f406a57942b9f25c08b8038ed28.png

         访问SPSS数据文件,需要用到pandas模块中的read_spss函数,这个函数在0.25版以后才有,但很多PsychoPy系统附带的pandas是0.23版的。因此,首先需要将PsychoPy里的pandas进行升级,升级操作如下。假设你已经安装好了PsychoPy,在Windows系统中,打开命令提示符对话框(这一功能在Windows的系统工具中),在命令提示符后输入

python –m  pip install –upgrade pandas

afa554a1d43ace07a9af51c6b27935ea.png

        这里m前的减号是一个,而upgrade前面的减号是两个。运行这个命令,需要你的电脑已经连接网络,这个命令会自己判断你的pandas是否为最新版本,如果不是,就会从网上下载升级文件将pandas更新为最新版。在我写这篇小短文时,pandas的版本是1.1.3。升级后,检查PsychoPy中pandas的版本,可以使用如下语句。

import  pandas as pd

print(pd.__version__)

         注意,version前后的下划线是两个。

         使用pandas读取SPSS数据文件,还需要一个模块叫pyreadstat,也是使用Windows命令提示窗口中运行python的pip 命令来安装。

python –m  pip install pyreadstat

         好,现在就可以使用python语句来打开SPSS数据文件了。

b3bb68d2c0758e26fdef87830033b23b.png

在程序中,首先需要引用pandas模块,通行的引用方法是给其取个别名pd。然后在第3行,声名了一个名为data_file的变量,其中保存了数据文件的名字。这里假设数据文件与程序文件在同一个文件夹。然后在第6行,调用了pandas中的read_spss函数,把保存了数据文件名的变量data_file传递给这个函数。这个函数的返回值存储到变量my_data中。如果数据打开成功,程序就会接着运行第9行的代码,其作用是显示出变量my_data中的内容有多少,my_data的shape属性可以获得数据有多少行与多少列。

在输出窗口我们看到一行文字显示为(791,3),这说明我们的数据一共包含了791行,有三列。

我们还可以显示其中数学列的前10个值,使用如下代码。

580a162b3841e4980c5f54963a834779.png

在输出窗口中,我们可以看到如下内容:

f93953d2a7dbbabf428af591558858f9.png

 这就是数据文件中数学一列的前5个值。

 也可以使用pandas中的基本统计功能计算一些常见统计量,如,

f26a1d196eb158ac720963f3f092ece7.png

 这段代码会在输出窗口中显示本数据文件中语文的平均成绩。其它统计量像标准差、最小值、最大值等,都可以显示出来。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值