我是python的新手并且有一个简单的问题。在第一步中,我想加载我在Stata中创建的一些示例数据。在第二步中,我想描述python中的数据 - 也就是说,我喜欢导入的变量名列表。到目前为止,我已经做到了这一点:
from pandas.io.stata import StataReader
reader = StataReader('sample_data.dta')
data = reader.data()
dir()
我收到以下错误:
anaconda/lib/python3.5/site-packages/pandas/io/stata.py:1375: UserWarning: 'data' is deprecated, use 'read' instead
warnings.warn("'data' is deprecated, use 'read' instead")
这是什么意思,我该如何解决这个问题?并且,dir()
是了解数据中我的变量的正确方法吗?
答案 0 :(得分:1)
使用pandas.io.stata.StataReader.data
从v[0]
文件中读取已在MySphere::operator()
版本中弃用,因此您收到了警告。
相反,您必须使用pandas.read_stata
来读取文件,如下所示:
stata
答案 1 :(得分:0)
有时候这对我不起作用,尤其是在数据集很大时。所以我在这里建议的是两个步骤(Stata和Python)
在Stata中编写以下命令:
export excel Cevdet.xlsx, firstrow(variables)
要复制变量标签,请写以下内容
describe, replace
list
export excel using myfile.xlsx, replace first(var)
restore
这将为您生成两个文件Cevdet.xlsx
和myfile.xlsx
现在您要去Jupyter笔记本
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('Cevdet.xlsx')
这将允许您将两个文件读入jupyter(python 3)
我的建议是保存此数据文件(尤其是大文件时)
df.to_pickle('Cevdet')
下次打开jupyter时,您只需运行
df=pd.read_pickle("Cevdet")