Что у меня есть:
df = pd.DataFrame(data = ["version11.11","version2.2","version3"], columns=["software_version"])
Index software_version
0 version11.11
1 version2.2
2 version3
Что я пытаюсь сделать:
Это определить тип второго последнегосимвол в столбце данных с именем software_version
и создайте новый столбец в кадре данных на основе этого условия.
Если второй последний символ представляет собой цифру или алфавит, извлеките все имя без последнего буквенно-цифрового,Например, version11.11
становится version11.1
ИЛИ version3
становится version
.elif, его десятичное место, затем извлекаем til до десятичного знака, version2.2
становится version2
Выходные данные должны быть:
Index software_version main_software
0 version11.11 version11.1
1 version2.2 version2
2 version3 version
ЧтоЯ сделал так:
Как я могу аккуратно добавить столбец выше main_software
?
import pandas as pd
df = pd.DataFrame(data = ["version11.11","version2.2","version3"], columns=["software_version"])
for name in df.software_version:
if name[-2].isalnum():
print(name[:-1])
elif name[-2] == ".":
print(name[:-2])
else :
print("!Alphanum-dot")