Как создать pandas dataframe со столбцом в виде массива - PullRequest
0 голосов
/ 10 сентября 2018

Я хочу создать фрейм данных с одним из столбцов в виде списка или массива. Но попытка сделать это приводит к ошибке «Должны иметь равные ключи и значение len при установке с итерацией» Пожалуйста, поддержите

  eg  data.loc[0,'emails']={'a@a.com','b@b.com'} =>error 
      data.loc[0,'emails']='a@a.com' =>No error

Данные =>

> Name  | emails
  ___________________________  
> Judas |['j@a.com','x@y.com']
> Priest|['x@a.com','x@y.com','j@k.com']

Этот сценарий может быть похож на попытку получить только список электронных писем в виде столбца из одного из столбцов, который содержит очень длинные тексты.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Вопрос может быть более ясным, если честно. Это приводит к тому, что вы ожидаете?

a = ["Judas" , ['j@a.com','x@y.com']]
b = ['Priest', ['x@a.com','x@y.com','j@k.com']]
df = pandas.DataFrame([a,b])
print(df)

дает:

            0                            1
0   Judas           [j@a.com, x@y.com]
1  Priest  [x@a.com, x@y.com, j@k.com]
0 голосов
/ 10 сентября 2018

После того, как вы присвоите столбцам значение list like или array like, столбец следует рассматривать как тип object

df=pd.DataFrame({'Name':['Juda','Pri']})
df['Email']=''
df.Email=df.Email.astype(object)
df.loc[0,'Email']={'a@a.com','b@b.com'}
df
Out[511]: 
   Name               Email
0  Juda  {b@b.com, a@a.com}
1   Pri                    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...