我有一个10000行的Pandas
系列,其中填充了单个字母,从A到Z开始。
但是,我想使用Pandas get_dummies
仅为A,B和C创建虚拟数据帧。
我该怎么做呢?
我不想为列中的所有行值获取假人,然后选择特定列,因为该列包含其他冗余数据,最终会导致内存错误。
答案 0 :(得分:1)
试试这个:
# 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