gpt4 book ai didi

python - 在 pandas for python 中创建虚拟变量

转载 作者:IT老高 更新时间:2023-10-28 22:02:24 33 4
gpt4 key购买 nike

我正在尝试使用 python 中的 pandas 从分类变量创建一系列虚拟变量。我遇到过 get_dummies 函数,但每当我尝试调用它时,我都会收到一个错误,即名称未定义。

任何创建虚拟变量的想法或其他方法将不胜感激。

编辑:由于其他人似乎遇到过这个问题,pandas 中的 get_dummies 函数现在可以正常工作了。这意味着以下应该可以工作:

import pandas as pd

dummies = pd.get_dummies(df['Category'])

http://blog.yhathq.com/posts/logistic-regression-and-python.html了解更多信息。

最佳答案

当我想到虚拟变量时,我会想到在 OLS 回归的上下文中使用它们,我会这样做:

import numpy as np
import pandas as pd
import statsmodels.api as sm

my_data = np.array([[5, 'a', 1],
[3, 'b', 3],
[1, 'b', 2],
[3, 'a', 1],
[4, 'b', 2],
[7, 'c', 1],
[7, 'c', 1]])


df = pd.DataFrame(data=my_data, columns=['y', 'dummy', 'x'])
just_dummies = pd.get_dummies(df['dummy'])

step_1 = pd.concat([df, just_dummies], axis=1)
step_1.drop(['dummy', 'c'], inplace=True, axis=1)
# to run the regression we want to get rid of the strings 'a', 'b', 'c' (obviously)
# and we want to get rid of one dummy variable to avoid the dummy variable trap
# arbitrarily chose "c", coefficients on "a" an "b" would show effect of "a" and "b"
# relative to "c"
step_1 = step_1.applymap(np.int)

result = sm.OLS(step_1['y'], sm.add_constant(step_1[['x', 'a', 'b']])).fit()
print result.summary()

关于python - 在 pandas for python 中创建虚拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11587782/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com