为了账号安全,请及时绑定邮箱和手机立即绑定

如何迭代熊猫数据框以在每次迭代中获取多行

如何迭代熊猫数据框以在每次迭代中获取多行

白板的微信 2023-03-08 15:27:26
我有一个熊猫数据框。DF.shape = (13096,27)我想迭代数据框,每次迭代我都使用shape of (50, 25). 我的意思是 25,前 25 列。我使用以下代码完成了它:for i in test_df.iterrows():        df1 = test_df.iloc[:50, 0:25]        df1 = np.array(df1)        seq_test_array = df1[newaxis, :, :]        print('df1', seq_test_array.shape)        #a = np.arange(10)        #for i in np.nditer(seq_test_array):        predictions = model.predict_classes(seq_test_array,verbose=1, batch_size=50)        fig_verify = plt.figure(figsize=(5, 5))        plt.plot(predictions, color="blue")        plt.plot(predictions, color="green")        plt.title('prediction')        plt.ylabel('value')        plt.xlabel('row')        plt.show()        print('predictions', predictions)        preds = model.predict(seq_test_array)        print('preds', preds)        prediction = np.argmax(preds)        print('prediction', prediction)我展示了这个数字,但它们是空的。与预测、pred 值相同(打印结果):predictions [[1]]preds [[0.9416911]]prediction 0df1 (1, 50, 25)是因为我的代码错误吗?请你帮助我好吗 ?谢谢
查看完整描述

1 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

你可以尝试这样的事情:


sliced=50  

for i in range(0,len(df)-(sliced-1),sliced):

    subdf=df.iloc[i:i+sliced,df.columns[:-2]]

    ....

    #the rest of your code 

所以,例如:


import numpy as np

import pandas as pd



N_rows=6

N_cols=5

df = pd.DataFrame(np.zeros((N_rows, N_cols)))

print(df)


sliced=2

for i in range(0,len(df)-(sliced-1),sliced):

    subdf=df.iloc[i:i+sliced,df.columns[:-2]]

    print(subdf)

    print(subdf.shape)

输出:


df

     0    1    2    3    4

0  0.0  0.0  0.0  0.0  0.0

1  0.0  0.0  0.0  0.0  0.0

2  0.0  0.0  0.0  0.0  0.0

3  0.0  0.0  0.0  0.0  0.0

4  0.0  0.0  0.0  0.0  0.0

5  0.0  0.0  0.0  0.0  0.0



Iterations:


     0    1    2

0  0.0  0.0  0.0

1  0.0  0.0  0.0

(2, 3)

     0    1    2

2  0.0  0.0  0.0

3  0.0  0.0  0.0

(2, 3)

     0    1    2

4  0.0  0.0  0.0

5  0.0  0.0  0.0

(2, 3)

(2,3)因此,正如您所看到的,每次迭代都采用it means的形式(sliced, len(df.columns)-2),因此在您的情况下它将是(50, 25)。


查看完整回答
反对 回复 2023-03-08
  • 1 回答
  • 0 关注
  • 58 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信