使用未命名的列创建dataframe,并使用这些列的值转换为行

2024-10-04 15:21:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我对学习python非常陌生,因此我需要帮助来操作以下数据帧:

name    location    commodity   service carrier agent   date                                
sometext    sometext    sometext    sometext    sometext    sometext    sometext    L1              L2_abc          
sometext    sometext    sometext    sometext    sometext    sometext    sometext    total_amount_min    total_amount    total_amount_type   total_amount_curr   total1_amount_min   total1_amount   total1_amount_type  total1_amount_curr
xyz bangalore   aa  xyz pol cvb 12-12-2020  nan 10  cbm INR nan 10  fgh INR
xyz bangalore   aa  xyz pol cvb 12-12-2021  nan 10  cbm INR 4   15  fgh INR
abc mumbai  bb  xyz pol cvb 12-12-2023  5   10  cbm INR nan 10  fgh INR
abc mumbai  bb  xyz pol cvb 12-12-2024  nan 5   cbm INR nan 10  fgh INR
pqr goa cc  xyz pol cvb 12-12-2026  nan 5   cbm INR nan 3   fgh INR
pqr goa cc  xyz pol cvb 12-12-2027  nan 3   cbm INR nan 4   fgh INR

要获取输出数据帧,请执行以下操作:

name    location    commodity   service carrier agent   date    charges type    amount  amount_min  level   currency
xyz bangalore   aa  xyz pol cvb 12-12-2020  total_amount    cbm 10  nan L1  INR
xyz bangalore   aa  xyz pol cvb 12-12-2021  total_amount    cbm 10  nan L1  INR
abc mumbai  bb  xyz pol cvb 12-12-2023  total_amount    cbm 10  5   L1  INR
abc mumbai  bb  xyz pol cvb 12-12-2024  total_amount    cbm 5   nan L1  INR
pqr goa cc  xyz pol cvb 12-12-2026  total_amount    cbm 5   nan L1  INR
pqr goa cc  xyz pol cvb 12-12-2027  total_amount    cbm 3   nan L1  INR
xyz bangalore   aa  xyz pol cvb 12-12-2020  total1_amount   fgh 10  nan L2_abc  INR
xyz bangalore   aa  xyz pol cvb 12-12-2021  total1_amount   fgh 15  4   L2_abc  INR
abc mumbai  bb  xyz pol cvb 12-12-2023  total1_amount   fgh 10  nan L2_abc  INR
abc mumbai  bb  xyz pol cvb 12-12-2024  total1_amount   fgh 10  nan L2_abc  INR
pqr goa cc  xyz pol cvb 12-12-2026  total1_amount   fgh 3   nan L2_abc  INR
pqr goa cc  xyz pol cvb 12-12-2027  total1_amount   fgh 4   nan L2_abc  INR

注意:所有列的数据类型都是object


普拉奇的尝试:

first_row = charges.iloc[0].values.tolist()
charge_leg = []
for i, row_value in enumerate(first_row):
    if str(row_value).startswith('L'):
        charge_leg.append(i)

Tags: l1nanamounttotalabcxyzcbml2

热门问题