簡體   English   中英

如何通過熊貓導入.dta並描述數據?

[英]How to import .dta via pandas and describe data?

我是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()是了解我在數據中具有哪些變量的正確方法嗎?

pandas 0.18.1版本中已不建議使用pandas.io.stata.StataReader.data讀取stata文件,因此您將收到該警告。

相反,您必須使用pandas.read_stata讀取文件,如下所示:

df = pd.read_stata('sample_data.dta')
df.dtypes                                        ## Return the dtypes in this object

有時這對我不起作用,尤其是在數據集很大時。 所以我在這里建議的是2個步驟(Stata和Python)

在Stata中,編寫以下命令:

export excel Cevdet.xlsx, firstrow(variables)

並復制變量標簽,寫以下內容

describe, replace
    list
    export excel using myfile.xlsx, replace first(var)
restore

這將為您生成兩個文件Cevdet.xlsxmyfile.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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM