Преобразование данных строки в данные столбца в пандах - PullRequest
0 голосов
/ 26 октября 2018

У меня есть данные, которые выглядят так: Поле Значение

0   CRD 146099
1   LegalName   CHUNG, BUCK CHWEE
2   BusName PRINCIPA FINANCIAL ADVISORS
3   URL https://adviserinfo.sec.gov/IAPD/content/ViewF...
4   CRD 170701
5   LegalName   MESSINA AND ASSOCIATES, INC
6   BusName FINANCIAL RESOURCES GROUP
7   URL https://adviserinfo.sec.gov/IAPD/content/ViewF...
8   CRD 133630
9   LegalName   ALAN EDELMAN
10  BusName EDELMAN, ALAN
11  URL https://adviserinfo.sec.gov/IAPD/content/ViewF...
12  CRD 131792
13  LegalName   RESOURCE MANAGEMENT LLC
14  BusName RESOURCE MANAGEMENT LLC
15  URL https://adviserinfo.sec.gov/IAPD/content/ViewF...

Как я могу преобразовать его так, чтобы CRD, LegalName, BusName, URL были столбцами.Я пытался использовать pd.melt, но это не то, что я искал.

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Я думаю, что вы ищете DataFrame. транспонировать

0 голосов
/ 26 октября 2018

Сначала используйте split для 2 столбцов, затем создайте счетчик Series на cumcount, создайте MultiIndex на set_index и изменить на unstack:

df[['Field','Value']] = df['Value'].str.split(n=1, expand=True)

groups = df.groupby('Field').cumcount()
df = df.set_index([groups, 'Field'])['Value'].unstack()
print (df)
Field                      BusName     CRD                    LegalName  \
0      PRINCIPA FINANCIAL ADVISORS  146099            CHUNG, BUCK CHWEE   
1        FINANCIAL RESOURCES GROUP  170701  MESSINA AND ASSOCIATES, INC   
2                    EDELMAN, ALAN  133630                 ALAN EDELMAN   
3          RESOURCE MANAGEMENT LLC  131792      RESOURCE MANAGEMENT LLC   

Field                                                URL  
0      https://adviserinfo.sec.gov/IAPD/content/ViewF...  
1      https://adviserinfo.sec.gov/IAPD/content/ViewF...  
2      https://adviserinfo.sec.gov/IAPD/content/ViewF...  
3      https://adviserinfo.sec.gov/IAPD/content/ViewF...  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...