Проблема:
Попытка отсортировать приведенный ниже фрейм данных для данных Excel (обратите внимание, что это небольшой образец набора из нескольких строк с информацией, которая может варьироваться от A# до Z#, за которой следует AA#). и т. д. (например, как будет выглядеть лист Excel) (#- варьируется от 0 до 100):
Ввод
"Pin No": ['J11', 'J1', 'A2', 'A11', 'A1', 'AA2', 'AB2'],
"Pin Name": ['pin1', 'pin2', 'pin3', 'pin4', 'pin5', 'pin6', 'pin7']
Требования к выходным данным:
Pin No Pin Name
A1 pin5
A2 pin3
A11 pin4
J1 pin2
J11 pin1
AA2 pin6
AB2 pin7
Попытка кода:
import pandas as pd
import re
# Initial DataFrame
def main():
df = pd.DataFrame({
"Pin No": ['J11', 'J1', 'A2', 'A11', 'A1', 'AA2', 'AB2'],
"Pin Name": ['pin1', 'pin2', 'pin3', 'pin4', 'pin5', 'pin6', 'pin7']
})
# Apply the split_pin function to the 'Pin No' column
df['Pin No Split'] = df['Pin No'].apply(split_pin)
# Sort based on alphabetic part first, then numeric part
df_sorted = df.sort_values(by=['Pin No Split'], key=lambda x: x.apply(lambda y: (y[0], y[1]))).drop(columns=['Pin No Split']).reset_index(drop=True)
# Display the sorted DataFrame
print(df_sorted)
# Function to split Pin No into alphabetic and numeric components
def split_pin(pin):
# Regex to split Pin No into alphabetic and numeric parts
match = re.match(r"([A-Za-z]+)(\d+)", pin)
print(match)
if match:
alphabetic_part = match.group(1)
print(alphabetic_part)
numeric_part = int(match.group(2)) # Convert numeric part to integer for sorting
print(numeric_part)
return (alphabetic_part, numeric_part)
else:
return (pin, 0)
Но я не могу правильно отсортировать. Я получаю вывод ниже, но не уверен, какая часть моего подхода неверна:
Pin No Pin Name
0 A1 pin5
1 A2 pin3
2 A11 pin4
3 AA2 pin6
4 AB2 pin7
5 J1 pin2
6 J11 pin
Подробнее здесь: https://stackoverflow.com/questions/791 ... characters
Сортировка данных по фреймам данных, содержащих смешанные буквенно-цифровые символы ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Сортировка данных по фреймам данных, содержащих смешанные буквенно-цифровые символы
Anonymous » » в форуме Python - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Сортировка данных по фреймам данных, содержащих смешанные буквенно-цифровые символы
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Сортировка данных по фреймам данных, содержащих смешанные буквенно-цифровые символы
Anonymous » » в форуме Python - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-