У меня есть некоторые данные, которые я пытаюсь очистить.Это включает в себя изменение некоторых столбцов, объединение других столбцов в новые и т. Д. Мне интересно, есть ли способ сделать это кратким способом в пандах или каждая операция должна быть отдельной строкой кода.Вот пример:
ex_df = pd.DataFrame(data = {"a": [1,2,3,4], "b": ["a-b", "c-d", "e-f", "g-h"]})
Скажем, я хочу создать новый столбец с именем c
, который будет первой буквой в каждой строке b
, я хочу преобразовать b
, удалив«-», и я хочу создать еще один столбец с именем d
, который будет первой буквой b
, объединенной с записью в a
в той же строке.Прямо сейчас я должен был бы сделать что-то вроде этого:
ex_df["b"] = ex_df["b"].map(lambda x: "".join(x.split(sep="-")))
ex_df["c"] = ex_df["b"].map(lambda x: x[0])
ex_df["d"] = ex_df.apply(func=lambda s: s["c"] + str(s["a"]), axis=1)
ex_df
# a b c d
#0 1 ab a a1
#1 2 cd c c2
#2 3 ef e e3
#3 4 gh g g4
Исходя из R data.table background (который объединит все эти операции в один оператор), мне интересно, как все это делается впанды.