Существует ли метод для свопинга левых и правых ручных сторон ряда выражений в Visual Studio?

Лучший источник - официальный источник:

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.join.html [ 116]

Вы также можете узнать о мультииндексах, уровнях и т. Д.

Я предпочитаю присоединиться:

import pandas as pd

columns = ['PatientID', 'Model#', 'Ear', 'SerNum', 'FName', 'LName', 'PName', 'PPhone']
data = [[
    'P99999', '300', 'Left', '1234567', 'John', 'Doe', 'Jane Doe', '(999) 111-2222'],
    ['P99999', '400', 'Right', '2345678', 'John', 'Doe', 'Jane Doe', '(999) 111-2222']]

df = pd.DataFrame(data=data, columns=columns)
df = df.set_index('PatientID')

df = df[df['Ear'] == 'Left'].drop('Ear', axis=1).join(df[df['Ear'] == 'Right'].drop('Ear', axis=1), lsuffix='_left', rsuffix='_right').reset_index()

Вывод:

  PatientID Model#_left SerNum_left  ... LName_right PName_right    PPhone_right
0    P99999         300     1234567  ...         Doe    Jane Doe  (999) 111-2222

РЕДАКТИРОВАТЬ :
1. Исправлено, забыли удалить столбец :)
2. Теперь с вашими данными:)

9
задан John Rasch 20 March 2009 в 17:36
поделиться

1 ответ

Вот макрос, который сделает это:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports System.Text.RegularExpressions

Public Module Helpers
    Sub SwapAssignment()
        If (Not IsNothing(DTE.ActiveDocument)) Then
            Dim selection As TextSelection = CType(DTE.ActiveDocument.Selection, TextSelection)
            selection.Text = Regex.Replace(selection.Text, "([^\s]*)\s*=\s*([^\s]*);", "$2 = $1;")
        End If
    End Sub
End Module

В основном это берет выделенный текст (или одна строка или столько строк, сколько Вы выбираете), и использует регулярное выражение для свопинга значений. Не симпатичный, но затем макросы никогда не.

10
ответ дан 4 December 2019 в 21:12
поделиться