章,我是刚开始学习Python和熊猫的人之一。因此,我有两个数据框,可以将它们称为 df1 和 df2 。我需要用df2的“现代化”中的那些替换df1的“现代化”列中的NaN行。我尝试了以下方法,但似乎无法正常工作,所以您能帮我吗? 我本来可以尝试逻辑索引,但是必须替换的行(在df1中)大约为300,因此我需要一些可以执行的操作,而无需调用和遍历这300行。下面是df1和df2。
我的方法:
for platform in df['platform'].dropna().unique():
df1.loc[(df1['platform'] == platform) & (df1['released'].isna()), 'released2'] = \
2.loc[df2.loc['platform'] == platform, 'released'].values[0]
df1 = pd.DataFrame(
{"name": ['FX4', 'TR55', 'KL55', 'MS-KL', 'UU-KL'],
"impedance": [-44, 55, 4, 4, 8],
"modernized": [pd.Timestamp("2020-01-23"),
pd.Timestamp("2020-04-25"),
pd.NaT,
pd.NaT,
pd.NaT]
}
)
df2 = pd.DataFrame({
"name": [ 'KL55', 'MS-KL', 'UU-KL'],
"modernized": [pd.Timestamp("2020-04-20"),
pd.Timestamp("2020-04-25"),
pd.Timestamp("2020-08-23")]
})
提前感谢大家!