【问题标题】:Create a dataframe from numpy arrays从 numpy 数组创建数据框
【发布时间】:2021-06-29 22:37:35
【问题描述】:

我有以下代码,我被一些 numpy 数组创建熊猫数据框困住了。

def gradient_descent_classification_prediction(x_test):
    y_pred = pd.DataFrame()
    for i in range(0 , 10):
        print(i)
        b = pd.read_csv("theta"+str(i)+".csv" , delimiter=",")
        y = pred(x_test , b) #outputs are 2d-s numpy arrays (10000 , 1) 
        y_pred= y_pred.append(y.tolist()) 
    y_pred.to_csv("./y_pred.csv" , index=False)

我想在数据框中为每个 y 列一个由函数 pred(x_test , b) 计算的列

我得到的输出是一个单列数据框,只有函数 pred 的输出。

你能帮帮我吗?

【问题讨论】:

  • 你试过y_pred = pd.concat([y_pred, y], axis=1)吗?

标签: python pandas numpy numpy-ndarray


【解决方案1】:

有很多方法可以做到这一点,但本质上将列表附加到数据框并不能确保其形状。将其保存为字典或列表更容易,然后在写入之前转换为数据框。下面我用字典:

def gradient_descent_classification_prediction(x_test):
    y_pred = {}
    for i in range(0 , 10):

        b = pd.read_csv("theta"+str(i)+".csv" , delimiter=",")
        y = pred(x_test , b) #outputs are 2d-s numpy arrays (10000 , 1) 
        y_pred["theta"+str(i)] = y
    
    pd.DataFrame(y_pred).to_csv("./y_pred.csv" , index=False)

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 2022-01-10
    • 2020-03-08
    • 1970-01-01
    相关资源
    最近更新 更多