Панды заменяют работы в одной строке, а не в другой - PullRequest
1 голос
/ 26 сентября 2019

Я пытаюсь очистить некоторые данные (Python 3.7.3) и смог заменить значения NaN пустыми строками, используя

def g(x):
    return pd.Series(x.replace(np.nan, ""))
df = df.apply(g)

и получить желаемый результат:

1    2      3            4
qt>  qml>   tableview>

и т. Д., Но затем я попытался сделать что-то похожее, чтобы заменить ">" пустой строкой

def h(x):
   return pd.Series(x.replace(">", ""))
df = df.apply(h)

, но датафрейм не изменился, и у меня все еще есть ">" в концекаждое слово.Никаких ошибок мне не брошено, поэтому я в растерянности.Заранее спасибо за любые ответы

Ответы [ 3 ]

1 голос
/ 26 сентября 2019
def h(x):
      return x.replace(">", "",regex=True)
df = df.apply(h)
1 голос
/ 26 сентября 2019

Пожалуйста, попробуйте следующее:

def g(x):
    return pd.Series(x.replace(">", "",regex=True))
df = df.apply(g)  

Это должно работать.

1 голос
/ 26 сентября 2019

Замените вашу h функцию на:

def h(x):
   return pd.Series(x.str.replace(">", ""))
df = df.apply(h)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...