【发布时间】:2017-06-28 18:08:14
【问题描述】:
df = pd.read_stata('file.dta')
for cols in df.columns.values:
name = cols.lower()
type = df[cols].dtype
#label = ...
我需要在 python 中为每一列获取标签/描述。
【问题讨论】:
df = pd.read_stata('file.dta')
for cols in df.columns.values:
name = cols.lower()
type = df[cols].dtype
#label = ...
我需要在 python 中为每一列获取标签/描述。
【问题讨论】:
在 Pandas 0.22 中,您还可以通过创建迭代器来访问它。 IE。
import pandas as pd
itr = pd.read_stata('file.dta', iterator=True)
itr.variable_labels()
这将返回一个字典,其中键是变量名,值是变量标签。我认为这比pd.io.stata.StataReader 更容易记住。
【讨论】:
这将返回一个标签字典:
>>> pd.io.stata.StataReader('file.dta').variable_labels()
{'x': 'x label', 'y': 'y label'}
【讨论】:
reader 在该答案中未定义,因此不清楚它来自何处。从你的回答看来它来自 pd.io 所以这对我来说意味着新的东西。 :)
我知道了
reader = pd.io.stata.StataReader('file.dta')
header = reader.variable_labels()
for var in header:
name = var
label = header[name]
【讨论】:
for 循环做什么(?)因为“标题”已经是一本字典。顺便说一句,回想起来,我本来只是将我的回答作为评论,但它得到了两个快速的支持,所以我决定离开它。