Arrays 如何通过组合列名称列表和numpy数组,然后添加更多列来创建熊猫数据帧?

Arrays 如何通过组合列名称列表和numpy数组,然后添加更多列来创建熊猫数据帧?,arrays,numpy,pandas,Arrays,Numpy,Pandas,我有一个名称列表和一个numpy数组,分别如下所示。如何将这两者结合起来形成熊猫数据帧?(我的实际问题比这更大,因为我在数组中有700多个列名和十万个输入)。你的帮助对我来说是非常宝贵的。多谢各位 column_names = [u'Bars', u'Burgers', u'Dry Cleaning & Laundry', u'Eyewear & Opticians', u'Local Services', u'Restaurants', u'Shopping'] values

我有一个名称列表和一个numpy数组,分别如下所示。如何将这两者结合起来形成熊猫数据帧?(我的实际问题比这更大,因为我在数组中有700多个列名和十万个输入)。你的帮助对我来说是非常宝贵的。多谢各位

column_names = [u'Bars', u'Burgers', u'Dry Cleaning & Laundry', u'Eyewear & Opticians', u'Local Services', u'Restaurants', u'Shopping']

values = array([[1, 1, 0, 0, 0, 0, 0],
   [0, 0, 1, 0, 1, 0, 0],
   [0, 0, 0, 1, 0, 0, 1],
   [0, 0, 0, 0, 0, 1, 0]], dtype=int64)
更新

非常感谢您的快速输入。很抱歉,我没有完全解释我想要实现的最终目标——我想在熊猫数据框中添加另一列
分数
,这是一个列表
[4,4.5,5,5.5,3]
。然后,我想提取除
score
之外的所有列作为预测因子,以预测线性回归模型中的
score
。我认为这里最重要的部分是如何以有效的方式添加一个新列?我知道我能做到

data = pd.DataFrame({"Bars": Bars, "Burgers": Burgers, "Dry Clearning & Laundry": Dry Cleaning & Laundry, ..."score": score})
然而,这似乎不太可能,因为我有太多的专栏

我还使用
dd=pd.DataFrame(值,列=列名)
,和
ddd=pd.DataFrame(dd,分数)

这将产生:

Out[185]: 
Bars  Burgers  Dry Cleaning & Laundry  Eyewear & Opticians  Local Services   \
3   0.0      0.0                     0.0                  0.0             0.0   
5   NaN      NaN                     NaN                  NaN             NaN   
5   NaN      NaN                     NaN                  NaN             NaN   
4   NaN      NaN                     NaN                  NaN             NaN   

Restaurants  Shopping  
3          1.0       0.0  
5          NaN       NaN  
5          NaN       NaN  
4          NaN       NaN`

再次非常感谢

我想我明白了。我可以在另一个数据框中进行评分。然后将第一个数据帧
dd=pd.DataFrame(值,列=列名称)
与第二个数据帧
分数
连接起来

import pandas as pd
import numpy as np

column_names = [u'Bars', u'Burgers', u'Dry Cleaning & Laundry', u'Eyewear & Opticians', u'Local Services', u'Restaurants', u'Shopping']

values = array([[1, 1, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0, 1],
[0, 0, 0, 0, 0, 1, 0]], dtype=int64)

df = pd.DataFrame(data=values, columns=column_names)

df.loc[:,'Scores'] = pd.Series(score, index=df.index)
pd.concat([dd, scores], axis=1)
这会生成一个新的数据帧。

可能会重复