用什么代替 pandas.Series.filter?
What to use in place of pandas.Series.filter?
pandas -> cuDF
将一些为 pandas 编写的 python 转换为急流中的 运行
pandas
temp=df_train.copy()
temp['buildingqualitytypeid']=temp['buildingqualitytypeid'].fillna(-1)
temp=temp.groupby("buildingqualitytypeid").filter(lambda x: x.buildingqualitytypeid.size > 3)
temp['buildingqualitytypeid'] = temp['buildingqualitytypeid'].replace(-1,np.nan)
print(temp.buildingqualitytypeid.isnull().sum())
print(temp.shape)
有人知道在 cuDF
中使用什么来代替 pandas.Series.filter
以获得相同的结果吗?
我们仍在研究 cudf
中的 filter
功能,但目前以下方法将实现许多 filter
类需求:
df_train = pd.DataFrame({'buildingqualitytypeid': np.random.randint(0, 4, 12), 'value': np.arange(12)})
temp=df_train.copy()
temp['buildingqualitytypeid']=temp['buildingqualitytypeid'].fillna(-1)
gtemp=temp.groupby("buildingqualitytypeid").count()
gtemp=gtemp[gtemp['value'] > 3]
gtemp = gtemp.drop('value', axis=1)
gtemp = gtemp.merge(temp.reset_index(), on="buildingqualitytypeid")
gtemp = gtemp.sort_values('index')
gtemp.index = gtemp['index']
gtemp.index.name = None
gtemp = gtemp.drop('index', axis=1)
如果您不需要 index
值,这可以更简单地完成。
pandas -> cuDF
将一些为 pandas 编写的 python 转换为急流中的 运行
pandas
temp=df_train.copy()
temp['buildingqualitytypeid']=temp['buildingqualitytypeid'].fillna(-1)
temp=temp.groupby("buildingqualitytypeid").filter(lambda x: x.buildingqualitytypeid.size > 3)
temp['buildingqualitytypeid'] = temp['buildingqualitytypeid'].replace(-1,np.nan)
print(temp.buildingqualitytypeid.isnull().sum())
print(temp.shape)
有人知道在 cuDF
中使用什么来代替 pandas.Series.filter
以获得相同的结果吗?
我们仍在研究 cudf
中的 filter
功能,但目前以下方法将实现许多 filter
类需求:
df_train = pd.DataFrame({'buildingqualitytypeid': np.random.randint(0, 4, 12), 'value': np.arange(12)})
temp=df_train.copy()
temp['buildingqualitytypeid']=temp['buildingqualitytypeid'].fillna(-1)
gtemp=temp.groupby("buildingqualitytypeid").count()
gtemp=gtemp[gtemp['value'] > 3]
gtemp = gtemp.drop('value', axis=1)
gtemp = gtemp.merge(temp.reset_index(), on="buildingqualitytypeid")
gtemp = gtemp.sort_values('index')
gtemp.index = gtemp['index']
gtemp.index.name = None
gtemp = gtemp.drop('index', axis=1)
如果您不需要 index
值,这可以更简单地完成。