У меня есть данные в одном столбце, как извлечь это? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть данные в одном столбце, как их извлечь?

Например: Shape_attribute - это имя столбца {"name": "circle", "cx": 371, "cy": 2921, "r": 73} {" name ":" circle "," cx ": 3712," cy ": 29212," r ": 73} {" name ":" circle "," cx ": 371," cy ":2921, "r": 73}

Я хочу выводить следующее:

name  cx  cy  r
circle 371 2921 73
circle 3712 29212 73
circle 371 2921 73

Примечание: все 4 значения находятся в одном столбце shape_attributes

Ответы [ 5 ]

0 голосов
/ 13 февраля 2019

Вы можете применить pd.Series к столбцу, содержащему словари:

result = df['target_column'].apply(pd.Series)
0 голосов
/ 13 февраля 2019

Создайте серию из текста, преобразуйте его в DataFrame и затем транспонируйте:

d = {"name":"circle","cx":371,"cy":2921,"r":73}

pd.Series(d).to_frame().T

Вывод:

     name   cx    cy   r
0  circle  371  2921  73
0 голосов
/ 13 февраля 2019

Сначала создайте словарь ваших значений, а затем передайте их на ваш пандамский фрейм данных, например:

import pandas as pd
my_dict={"name":"circle","cx":371,"cy":2921,"r":73}
df=pd.DataFrame([my_dict],columns=my_dict.keys())

Также, чтобы узнать больше о преобразовании словаря в фрейм данных, посетите этот Словарь в фрейме данных

0 голосов
/ 13 февраля 2019

Python 3.x

Без фрейма данных

dict = {"name":"circle","cx":371,"cy":2921,"r":73}
keys= []
values = []
for key, value in dict.items():
    keys.append(str(key))
    values.append(str(value))
data = [keys, values]

for row in data: # Align right
    print("{: >10} {: >10} {: >10} {: >10}".format(*row))

for row in data: # Align left
    print("{: <10} {: <10} {: <10} {: <10}".format(*row))

или:

С фреймом данных

import pandas as pd

data={"name":"circle","cx":371,"cy":2921,"r":73}
df = pd.DataFrame([data], columns=data.keys())
#Remove index
result = df.to_string(index=False)
print(result)
0 голосов
/ 13 февраля 2019

Это работает:

df_final = pd.concat([df, df['shape_attributes'].apply(pd.Series)], axis = 1).drop('shape_attributes', axis = 1)
...