soi*_*new 2 python metadata spss pandas jupyter-notebook
这是我第一次使用 Jupyter Notebook 分析调查数据(.sav 文件),我希望以显示元数据的方式阅读它,以便我可以将答案与问题联系起来。我是这个领域的新手,所以非常感谢您的帮助!
import pandas as pd
import pyreadstat
df, meta = pyreadstat.read_sav('./SimData/survey_1.sav')
type(df)
type(meta)
df.head()
Run Code Online (Sandbox Code Playgroud)
如果我需要执行额外的步骤才能看到元数据,请告诉我!
元对象包含您正在查找的元数据。最有用的属性可能是:
print(meta.column_names_to_labels)
Run Code Online (Sandbox Code Playgroud)
print(meta.variable_value_labels)
Run Code Online (Sandbox Code Playgroud)
例如,如果您的“性别”列的值为 1 和 2,则可以得到: {"gender": {1:"male", 2:"female"}} 这意味着值 1 是男性,2 是女性。如果传递参数 apply_value_formats ,则可以从一开始就获取这些标签:
df, meta = pyreadstat.read_sav('survey.sav', apply_value_formats=True)
Run Code Online (Sandbox Code Playgroud)
您还可以随时使用 pyreadstat.set_value_labels 将这些值格式应用到您的数据帧,它返回带有标签的数据帧的副本:
df_copy = pyreadstat.set_value_labels(df, meta)
Run Code Online (Sandbox Code Playgroud)
df, meta = pyreadstat.read_sav("survey.sav", user_missing=True)
print(meta.missing_ranges)
print(meta.variable_value_labels)
Run Code Online (Sandbox Code Playgroud)
这些是对您的案例有用的潜在信息,不一定所有这些信息都会出现在您的数据集中。
更多信息请参见:https://ofjardo.github.io/pyreadstat_documentation/_build/html/index.html
| 归档时间: |
|
| 查看次数: |
6788 次 |
| 最近记录: |