具有优先级的数据帧的模式

Rushi

我是熊猫新手,请耐心等待。我想在数据帧上应用模式,但要进行一些调整。列Item_1,Item_2和Item_3可以有四个值[High,Medium,Low,NA]。高优先级最高,低优先级最低。不适用。
数据如下图所示。

    date       Type  Item_1   Item_2  Item_3 Price
0   2021-01-01  A    High     Low     Low     20   
1   2021-01-01  A    High     Low     Low     20    
2   2021-01-01  A    Low      High    Low     20   
3   2021-01-01  A    Medium   High    High    20    
4   2021-01-01  B    Low      High    Low     15   
5   2021-01-01  B    Medium   High    High    15
6   2021-01-01  B    Low      Low     Medium  15
6   2021-01-02  A    NA       High    NA      30    
7   2021-01-02  A    NA       High    NA      30    
8   2021-01-02  A    NA       NA      NA      30
9   2021-01-02  A    NA       NA      Low     30
10  2021-01-02  A    NA       NA      Low     30
11  2021-01-02  A    NA       Low     High    30

预期产量:

    date       Type  Item_1   Item_2  Item_3  Price
0   2021-01-01  A    High     High    Low     20  
1   2021-01-01  B    Low      High    High    15
2   2021-01-02  A    NA       High    Low     30   

我的用例是,正如您所看到的,Item_1中的第一行现在具有值High(最频繁)。
但在ITEM_2两个相同的频率,但高有更多的优先事项获得价值高的输出。
在Item_3中,Low最常见,因此值为Low。

编辑:不
适用不适用。第二个最有效的值应作为输出,如日期2021-01-02 NA的频率最高,但第二个最频繁的值为High。

值NA不对应于NaN而是一个字符串对象。与其他分类值相似。只是无论什么时候,无论日期出现的频率是多少,无论是高/低/中,我都想选择发生次数/频率第二高的分类值

耶斯列尔

我认为有多个具有不同日期的行,因此首先通过进行重塑DataFrame.melt,然后将值转换为ordered categoricals,最后GroupBy.agg在lambda函数中按组获取第一个模式,最后通过Series.unstack以下方式进行塑形

cols = df.columns
df = df.melt(['date','Type','Price'])
df["value"] = pd.Categorical(df["value"], 
                             categories=["High", "Medium", "Low"], 
                             ordered=True)
df = (df.groupby(['date','Type','Price','variable'])['value']
        .agg(lambda x: x.mode().iat[0])
        .unstack()
        .rename_axis(None, axis=1)
        .reset_index()
        .reindex(cols, axis=1))
print (df)
         date Type  Item_1 Item_2 Item_3  Price
0  2021-01-01    A    High   High    Low     20
1  2021-01-01    B     Low   High   High     15
2  2021-01-02    A  Medium    Low   High     30

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有优先约束的SSIS控制流优先级

来自分类Dev

数据集优先级错误

来自分类Dev

具有两个优先级Python的优先级队列

来自分类Dev

具有两个优先级值的优先级队列

来自分类Dev

创建具有相反顺序的优先级队列

来自分类Dev

TestNG中具有多个类的优先级

来自分类Dev

具有减少键操作的Javascript优先级队列

来自分类Dev

数据表数据优先级/列优先级

来自分类Dev

具有优先级属性的表联接

来自分类Dev

具有优先级的RxJava Zip

来自分类Dev

具有自定义顺序的优先级队列

来自分类Dev

Java的流8具有优先级过滤

来自分类Dev

C ++实现具有不同优先级功能的优先级队列的最佳方法是什么?

来自分类Dev

如果多个元素具有相同的优先级,Python中是否有“ Lifo”类型的优先级队列?

来自分类Dev

Ubuntu HDD始终具有启动优先级

来自分类Dev

数据集优先级错误

来自分类Dev

具有两个优先级Python的优先级队列

来自分类Dev

具有有限大小的Clojure优先级映射

来自分类Dev

通过“优先级”获取数据

来自分类Dev

mysql选择具有优先级的值

来自分类Dev

运行具有高优先级或实时优先级的程序(是的,我已经阅读了其他线程)

来自分类Dev

基于元素字段具有元素唯一性的优先级队列的数据结构

来自分类Dev

CoreData-具有优先级的多对多关系

来自分类Dev

数据表数据优先级/列优先级

来自分类Dev

具有优先级的Java正则表达式匹配模式

来自分类Dev

将具有相同模式但具有多个优先级的两个文件连接起来

来自分类Dev

按优先级排序数据

来自分类Dev

对具有较高优先级的一系列元素和具有较低优先级的其他元素的优先级队列进行排序

来自分类Dev

处理具有相同优先级的中断

Related 相关文章

热门标签

归档