首页 > 解决方案 > 如果该行中的元素不满足某些条件,如何从二维数组中删除特定行?

问题描述

我的程序从网站上取下一张桌子并为我创建了一个二维数组。我想摆脱表中无用的行(包含“August”之类的元素),但不知道我可以设置哪些特定条件来仅删除这些行。这是数组的外观示例。复制整个表的代码如下:

控制台日志打印二维数组

复制上述数组的代码:

import pandas as pd

url = 'https://www.islamicfinder.org/world/united-states/5350937/fresno-prayer-times/'

monthlyPrayers = pd.read_html(url)

print(monthlyPrayers[0])

如果有人可以建议一种方法来仅删除包含这些随机单词的行而不是包含日期或时间的行,我将不胜感激。

标签: pythonarrays

解决方案


如果您想保留标题并仅删除之后的行->它们有一些NaN,那么就monthlyPrayers[0].dropna()可以了

但我猜这更优雅:

import pandas as pd
import numpy as np

url = 'https://www.islamicfinder.org/world/united-states/5350937/fresno-prayer-times/'

monthlyPrayers = pd.read_html(url)

for i in range(0, len(monthlyPrayers[0])):
    try:
        int(monthlyPrayers[0][0][i])
    except TypeError:
        monthlyPrayers[0][0][i] = np.nan

monthlyPrayers[0].dropna(inplace=True)

推荐阅读