FlightNumber列缺失值按规则填充并转换为整数列的技术问询
解决方案:填充FlightNumber列缺失值并转换类型
没问题,这是处理FlightNumber列缺失值、按每行递增10规则填充并转换为整数型的完整方案,用Pandas实现最直接高效:
步骤说明
- 基于已有的非缺失值,生成符合"每行递增10"规则的完整序列
- 用生成的序列填充列中的缺失值
- 将原本的浮点型列转换为整数型
代码实现
import pandas as pd # 示例数据集(包含需要填充的缺失值) df = pd.DataFrame({ 'FlightNumber': [10035, None, None, 10065, None, 10085], 'Passengers': [120, 150, 90, 180, 110, 200] }) # 1. 生成完整递增序列:以第一个非缺失值为起点,每行加10 start_val = df['FlightNumber'].dropna().iloc[0] full_flight_seq = [start_val + 10 * idx for idx in range(len(df))] # 2. 填充缺失值 df['FlightNumber'] = df['FlightNumber'].fillna(pd.Series(full_flight_seq)) # 3. 转换为整数型 df['FlightNumber'] = df['FlightNumber'].astype(int) # 查看处理后的结果 print(df)
处理后结果
FlightNumber Passengers 0 10035 120 1 10045 150 2 10055 90 3 10065 180 4 10075 110 5 10085 200
灵活替代方案
如果已知现有非缺失值本身就是按10递增的,也可以用interpolate方法自动填充,代码更简洁:
df['FlightNumber'] = df['FlightNumber'].interpolate(method='linear', limit_direction='both').astype(int)
内容的提问来源于stack exchange,提问作者dan_karan
相关产品推荐
相关产品推荐

