Arrays 如何通过组合列名称列表和numpy数组,然后添加更多列来创建熊猫数据帧?
我有一个名称列表和一个numpy数组,分别如下所示。如何将这两者结合起来形成熊猫数据帧?(我的实际问题比这更大,因为我在数组中有700多个列名和十万个输入)。你的帮助对我来说是非常宝贵的。多谢各位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
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)
这会生成一个新的数据帧。可能会重复