【发布时间】:2015-10-01 21:09:58
【问题描述】:
我有一个 pandas 数据框列,其中包含 100 个国家/地区的国家/地区代码。我想用这些来做回归,但我只想在我的数据集中为特定国家创建虚拟变量。
我认为这会起作用:
dummies = pd.get_dummies(df.CountryCode, prefix='cc_')
df_and_dummies = pd.concat([df,dummies[dummies['cc_US', 'cc_GB']]], axis=1)
df_and_dummies
但它给了我错误:
KeyError: ('cc_US', 'cc_GB')
我的数据框目前看起来像:
dframe = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'],
'CountryCode': ['UK', 'US', 'RU']})
dframe
但我希望它看起来像这样:
是否有一种简单的方法可以指定您希望在 get_dummies 方法中包含哪些值,或者是否有其他方法可以识别特定的虚拟变量?
【问题讨论】:
-
你想要
dummies[dummies.isin(['cc_US', 'cc_GB', 'cc_DE'])]吗?否则,你能提供一个可重现的例子吗? -
@joris 这似乎不起作用。我在帖子中添加了一个示例。感谢您的关注!
标签: python pandas dataframe dummy-variable