Как распределить значения в одном столбце по нескольким столбцам?

Хорошо. Я наконец нашел, что на самом деле работает, чтобы ответить на вопрос, который, как представляется, задан,

«Когда вам нужно много модулей и форм, как я могу объявить переменную общедоступной для всех они, такие, что каждый из них ссылается на одну и ту же переменную? »

Удивительно для меня, я потратил немало времени на поиск в Интернете по этому, казалось бы, простому вопросу, не обнаружив ничего, кроме неопределенности, которая оставила меня все еще с ошибками.

Но благодаря ссылке Коди Грея на пример , я смог определить правильный ответ:


Ситуация; У вас есть несколько модулей и / или форм и вы хотите ссылаться на определенную переменную от каждого или всех.

«A», который работает; На одном модуле разместите следующий код (где «DefineGlobals» - произвольно выбранное имя);

Public Module DefineGlobals

Public Parts As Integer                 'Assembled-particle count
Public FirstPrtAff As Long              'Addr into Link List 
End Module

И затем в каждом модуле / форме, нуждающемся в адресации этой переменной «Части», поместите следующий код (в качестве примера формы «InitForm2»);

Public Class InitForm2
Private Sub InitForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Parts = Parts + 3

End Sub

End Class

И, возможно, другая форма; Public Class FormX

Sub CreateAff()

   Parts = 1000

End Sub 

 End Class

Этот тип кодирования, похоже, работал на моем VB2008 Express и, кажется, все это необходимо на данный момент (без каких-либо неизвестных файлов, загружаемых в фоновом режиме), хотя у меня есть не нашел конца «О кстати ...» сюрприз детали. И я уверен, что более предпочтительной будет стандартизация, но первая задача - просто получить что-то вообще, с или без стандартов.

Ничто не сравнится с точными и хорошо сформулированными явными примерами.

Еще раз спасибо, Коди

2
задан yatu 22 February 2019 в 14:20
поделиться

2 ответа

Вы можете использовать Series.str.get_dummies :

df.Colour.str.get_dummies().replace({1:'Yes', 0:'No'})

   Blue Green Red
0   No    No  Yes
1   No   Yes   No
2   No   Yes   No
3  Yes    No   No
4   No    No  Yes
0
ответ дан yatu 22 February 2019 в 14:20
поделиться

Вы можете использовать pd.get_dummies :

df = pd.DataFrame({'Colour': ['Red', 'Green', 'Green', 'Blue', 'Red']})
df
    Colour
0   Red
1   Green
2   Green
3   Blue
4   Red

pd.get_dummies(df['Colour']).replace({0:'No', 1:'Yes'})
     Blue            Green  Red
0     No              No    Yes
1     No              Yes   No
2     No              Yes   No
3     Yes             No    No
4     No              No    Yes
0
ответ дан Mohit Motwani 22 February 2019 в 14:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: