相关疑难解决方法(0)

如何用pythonic方式填充Pandas数据帧的缺失记录?

我有一个像这样的Pandas数据帧'df':

         X   Y  
IX1 IX2
A   A1  20  30
    A2  20  30
    A5  20  30
B   B2  20  30
    B4  20  30
Run Code Online (Sandbox Code Playgroud)

它失去了一些行,我想填补中间的空白,如下所示:

         X   Y  
IX1 IX2
A   A1  20  30
    A2  20  30
    A3  NaN NaN
    A4  NaN NaN
    A5  20  30
B   B2  20  30
    B3  NaN NaN
    B4  20  30
Run Code Online (Sandbox Code Playgroud)

有没有pythonic方式来做到这一点?

python pandas

12
推荐指数
1
解决办法
4373
查看次数

确保密钥的笛卡尔积出现在Pandas表中

我有一个Pandas数据框,它有两个关键列,我想确保表中存在这些键的笛卡尔积(因为我必须制作一个包含所有组合的2D图).我无法想出一个相当简短和惯用的方法来做到这一点.

例如,我从这张表开始,给出水果和蔬菜的组合,以及它们如何一起品尝:

   combo   fruit      veg
0  tasty   apple   carrot
1  yucky  banana   carrot
2  tasty  banana  lettuce
3  yucky   lemon  lettuce
Run Code Online (Sandbox Code Playgroud)

我想最终得到所有可能组合的表:

    fruit      veg    combo
0   apple   carrot    tasty
1   apple  lettuce  UNKNOWN
2  banana   carrot    yucky
3  banana  lettuce    tasty
4   lemon   carrot  UNKNOWN
5   lemon  lettuce    yucky
Run Code Online (Sandbox Code Playgroud)

这是我发现的最佳方式:

import pandas as pd

# Initial data
df=pd.DataFrame(dict(fruit=['apple','banana','banana','lemon'],
                     veg=['carrot','carrot','lettuce','lettuce'],
                     combo=['tasty','yucky','tasty','yucky']))

# Solution starts here
veg=df.groupby('veg').size().reset_index()
fruit=df.groupby('fruit').size().reset_index()
fruit[0] = veg[0] = 0    #use this dummy column for the join to work! …
Run Code Online (Sandbox Code Playgroud)

python pandas

10
推荐指数
1
解决办法
2503
查看次数

标签 统计

pandas ×2

python ×2