熊猫:如果第二列为空,则删除行

时间:2018-03-20 18:25:39

标签: python pandas

我正在尝试使用Python3和Pandas来塑造数据帧。

我目前的框架如下所示:

<style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;}
.tg .tg-baqh{text-align:center;vertical-align:top}
</style>
<table class="tg">
  <tr>
    <th class="tg-baqh"></th>
    <th class="tg-baqh">Col1</th>
    <th class="tg-baqh">Col2</th>
    <th class="tg-baqh">Col3</th>
  </tr>
  <tr>
    <td class="tg-baqh">0</td>
    <td class="tg-baqh">X</td>
    <td class="tg-baqh">Y</td>
    <td class="tg-baqh"></td>
  </tr>
  <tr>
    <td class="tg-baqh">1</td>
    <td class="tg-baqh"></td>
    <td class="tg-baqh">Z</td>
    <td class="tg-baqh">B</td>
  </tr>
</table>

如果第二列为空,我试图删除该行(因此删除第2行,索引1,仅此处),但第二列的名称可能会根据所使用的文件而改变,因此我尝试使用ix但无济于事......

c = df.ix[:,1]
df.dropna(subset=c, how='all', inplace=True)

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我认为这可以回答你的问题。您可以获取列名称并将其存储到变量:

x= df.columns.tolist()[0]

然后:

df=df[df[x].isnull()==False]

答案 1 :(得分:0)

second = df[df.columns.tolist()[1]]
df = df[second.notnull()]
相关问题