在每次迭代中仅更新熊猫数据框的第一行

时间:2019-08-06 16:04:48

标签: python pandas

我正在遍历pandas数据框,在给定条件下它选择了数据框的子集。在所选的数据框上,我要在特定列的第一行上更新

我尝试用大熊猫的替换方法,但是它替换了所有东西。我只想更新第一行而已

for unique_master_pr in same_date_PR_unique:
    dataframe_from_master = pr_event_data_copy[pr_event_data_copy['PR'] == unique_master_pr].reset_index(drop=True)

    temp_frame  = dataframe_from_master['t_code'].iloc[0].replace('Change Purchase Requisition', 'Create Purchase Requisition')
    print(temp_frame)

输入:

PR number   Tcode
  PR1     change PR
  PR1     change PR

输出:

PR number   Tcode
  PR1     create PR
  PR1     change PR

2 个答案:

答案 0 :(得分:1)

  

我正在遍历pandas数据框,在给定条件下,它会选择一个数据框的子集。我要在所选数据帧上在特定列的第一行上更新

要完成此任务:

  • 创建数据框的子集:

new_df = original_df[original_df["condition_col"]==unique_master_pr]

  • 更新特定列的第一行

new_df.iloc[0, specific_col_number] = updated_value

注意,我不确定这是否是实现结果的最有效方法,但是我需要更多有关此问题的信息以进一步优化它。

答案 1 :(得分:0)

一种方式

dataframe_from_master['Tcode'].iloc[0] = "create PR"