从Group中删除Pandas Dataframe的“NaN”

时间:2018-03-12 16:04:23

标签: python python-3.x pandas

我有一个如下所示的Dataframe:

value   attribute1  attribute2  attribute3  attribute4
value1  NaN         NaN         foo         NaN
value1  bar         NaN         NaN         NaN
value1  NaN         baz         NaN         NaN
value1  NaN         NaN         NaN         boo

我试图找到一种方法来压缩框架,使它看起来更像这样:

value   attribute1  attribute2  attribute3  attribute4
value1  bar         baz         foo         boo

我无法找到任何可以让我这样做的具体解决方案。

3 个答案:

答案 0 :(得分:3)

In [166]: df.groupby('value').first()
Out[166]:
       attribute1 attribute2 attribute3 attribute4
value
value1        bar        baz        foo        boo

In [167]: df.groupby('value', as_index=False).first()
Out[167]:
    value attribute1 attribute2 attribute3 attribute4
0  value1        bar        baz        foo        boo

答案 1 :(得分:2)

df.bfill().iloc[[0]]
Out[201]: 
    value attribute1 attribute2 attribute3 attribute4
0  value1        bar        baz        foo        boo

答案 2 :(得分:1)

一种方法是使用HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Profiles\Outlook\20424cec73cea54ab3d011f91bf036b2,然后使用sort_valuesbfill

这将适用于drop_duplicates列中的多个唯一值,即使它们未被订购。

value