代码之家  ›  专栏  ›  技术社区  ›  Chopin

将第一行值替换为最后一行值-python

  •  1
  • Chopin  · 技术社区  · 1 周前

    我试图从df col的最后一行获取值,并将其替换为第一个值。我返回了一个值错误。

    import pandas as pd
    df = pd.DataFrame({'name': ['tom','jon','sam','jane','bob'],
           'age': [24,25,18,26,17],
           'Notification': [np.nan,'2025-01-03 14:19:35','2025-01-03 14:19:39','2025-01-03 14:19:41','2025-01-03 14:19:54'],
           'sex':['male','male','male','female','male']})
    
    df_test = df.copy()
    
    df_test['Notification'] = pd.to_datetime(df_test['Notification'])
    
    df_test['Notification'].iloc[0] = df_test['Notification'].tail(1)
    

    错误:

    ValueError: Could not convert object to NumPy datetime
    
    1 回复  |  直到 1 周前
        1
  •  2
  •   Subir Chowdhury    1 周前

    您需要编辑此行:

    df.loc[df.index[0], 'age'] = df.loc[df.index[-1], 'age']
    

    完整代码:

    import pandas as pd
    import numpy as np
    
    df = pd.DataFrame({'name': ['tom', 'jon', 'sam', 'jane', 'bob'],
                   'age': [np.nan, 25, 18, 26, 17],
                   'sex': ['male', 'male', 'male', 'female', 'male']})
    
    df.loc[df.index[0], 'age'] = df.loc[df.index[-1], 'age']
    

    干杯!!!