Python 熊猫-仅获取特定值的假人
我有一个由10000行组成的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
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 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]))