首页 > 解决方案 > python - 如何使用pandas从python中的合并数据框中删除索引值?

问题描述

我有两个数据框如下:

filename='C:\\HPTiB\\HPTib_Test_Cases\\template_276.xlsx'

test_excel_sh1=pd.read_excel(filename,sheet_name=0,index=False,index_col=None, header=0)
test_excel_sh1

SOURCE_KEY  PAYER NAME  PAYER CODE TYPE PAYER CODE
0     1      INDUSTRY   PAY             123485
1     2      LEADING    PAY             123422

test_excel_sh2=pd.read_excel(filename,sheet_name=1,index=False,index_col=None, header=0)
test_excel_sh2

 SOURCE_KEY RECIEVER_KEY    RECIEVER KEY TYPE   RECIEVER NAME   RECIEVER CODE

  0    1       1               PERSON               CEO             A222222221
  1    1       2               PERSON               CO-FOUNDER      A222222221
  2    2       3               PERSON               CFO             A222222221

在对 SOURCE_KEY 进行合并时,如下所示:

df_left = pd.merge(test_excel_sh1, test_excel_sh2, on='SOURCE_KEY' , how='left')

SOURCE_KEY  PAYER NAME  PAYER CODE TYPE PAYER CODE  RECIEVER_KEY    RECIEVER KEY TYPE   RECIEVER NAME   RECIEVER CODE
0   1      INDUSTRY     PAY            123485       1               PERSON               CEO    A222222221
1   1      INDUSTRY     PAY            123485       2               PERSON              CO-FOUNDER  A222222221
2   2      LEADING      PAY            123422       3               PERSON               CFO    A222222221

获取索引值以及当我从上面的数据框( source_key 和 Reciever_key )中选择两列时,如下所示:

select_df=df_left[['SOURCE_KEY','RECIEVER_KEY']]

             SOURCE_KEY  RECIEVER_KEY
 0           1             1
 1           1             2
 2           2             3

然后在上面做一个for循环:

for i ,j in select_df.iterrows():
    print("Value of SOurce key is " , i)
    print("Value of Reciever key is ", j)

输出 :

Value of SOurce key is  0
Value of Reciever key is  SOURCE_KEY      1
RECIEVER_KEY    1
Name: 0, dtype: int64
Value of SOurce key is  1
Value of Reciever key is  SOURCE_KEY      1
RECIEVER_KEY    2
Name: 1, dtype: int64
Value of SOurce key is  2
Value of Reciever key is  SOURCE_KEY      2
RECIEVER_KEY    3
Name: 2, dtype: int64

Process finished with exit code 0

它将值“i”作为索引并重命名为 source_key 和 receiever_key。有什么方法可以删除这些索引值吗?

标签: python-3.xpandasnumpydataframeindexing

解决方案


只需这样做:

for i ,j in select_df.iterrows():
    print("Value of Source key is " , j[0])
    print("Value of Reciever key is ", j[1])

推荐阅读