我有一个像这样的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方式来做到这一点?
我有一个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)