Python 将序列中的单个值指定给数据帧列
如何将值match_time分配给在travel_min列中具有空值的所有3行。travel_min是一个浮点值 我得到以下错误: TypeError:“str”对象不支持项分配Python 将序列中的单个值指定给数据帧列,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,如何将值match_time分配给在travel_min列中具有空值的所有3行。travel_min是一个浮点值 我得到以下错误: TypeError:“str”对象不支持项分配 null_df = data[data['travel_min'].isnull()] match_time = data.loc[data['train_station_id']==20026]['travel_min'] for row in null_df: row['travel_min'] = mat
null_df = data[data['travel_min'].isnull()]
match_time = data.loc[data['train_station_id']==20026]['travel_min']
for row in null_df:
row['travel_min'] = match_time
您可以使用提取您的值,然后:
无需对数据帧进行切片,也无需对循环使用Python级别的
。当然,对于第一行:data['train\u station\u id']==20026
构造一个用于索引的布尔序列,travel\u min
表示要查找的列,iat[0]
获得第一个True
匹配项。对于第二行,fillna
只使用match\u time
填充空值。因此,fillna将填充传入我的nulldf中所有空值的值,对吗?语法df['travel\u min']=df['travel\u min']。fillna(match\u time)
仅用于在行程最小值
序列中用匹配时间
填充所有空值。我的解决方案没有任何null\u df
。事实上,它不再需要null\u df
,您不需要它。明白了!你是我的救世主。谢谢!
match_time = data.loc[data['train_station_id']==20026, 'travel_min'].iat[0]
df['travel_min'] = df['travel_min'].fillna(match_time)