繁体   English   中英

如何使用列作为数组创建pandas数据框

[英]How to create a pandas dataframe with a column as array

我想创建一个数据帧,其中一列作为列表或数组但是尝试这样做会产生错误'设置可迭代时必须具有相等的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']

这种情况可能就像试图只从包含很长文本的列之一的列中获取电子邮件列表一样。

后分配一个list状或array状值的列,该列应被视为类型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                    

说实话,问题可能更清楚。 这会导致您的期望吗?

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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM