Python 熊猫-仅获取特定值的假人

Python 熊猫-仅获取特定值的假人,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有一个由10000行组成的Pandas系列,由一个字母表填充,从a到Z。 但是,我只想使用Pandasget_dummies为A、B和C创建虚拟数据帧。 我该怎么做呢 我不想为列中的所有行值获取假人,然后选择特定列,因为该列包含其他冗余数据,这最终会导致内存错误。尝试以下操作: # create mock dataframe df = pd.DataFrame( {'alpha':['a','a','b','b','c','e','f','g']}) # use replace with a

我有一个由10000行组成的
Pandas
系列,由一个字母表填充,从a到Z。 但是,我只想使用Pandas
get_dummies
为A、B和C创建虚拟数据帧。 我该怎么做呢

我不想为列中的所有行值获取假人,然后选择特定列,因为该列包含其他冗余数据,这最终会导致内存错误。

尝试以下操作:

# create mock dataframe
df = pd.DataFrame( {'alpha':['a','a','b','b','c','e','f','g']})

# use replace with a regex to set characters d-z to None
pd.get_dummies(df.replace({'[^a-c]':None},regex =True))
输出:

  alpha_a   alpha_b     alpha_c
0   1   0   0
1   1   0   0
2   0   1   0
3   0   1   0
4   0   0   1
5   0   0   0
6   0   0   0
7   0   0   0

那么,您是想先过滤df,还是只想为这些值获取虚拟值?我只想为这些值获取虚拟值。注意:使用
获取虚拟值
稀疏=真
参数可以解决很多内存问题。如果我的分类变量是随机字符串,比如John,Jane和Mary,而不是a、b和c?您可以使用希望排除的姓名列表<代码>pd.get_假人(df.replace(['Tom','Ben',[None,None]))