需要编写一个函数,将来自两个不同长度的不同列的两个值连接在一起

Need to write a function that joins two values from two separate columns together of different lengths

我有一个看起来像这样但至少有 300 行的 .pkl 文件:

X Z
-0.522 3 0.55
0.44 5 没有
0.241 可能
0.325 3

我想获取 Y 和 M 的值列表 [3 = 是,5 = 否,3 = 是],但在某些行中有 NaN。

目前我可以在没有 NaN 的情况下得到 Y 但是 M 中没有 NaN。我需要删除没有 Y 值的 M 值。 (Y = NaN)

然后print(Y_no_nans together with M_no_Y_nans)

您可以执行以下操作(df 是您的数据框):

df2 = df[(pd.notna(df['Y']) & (pd.notna(df['M']))]
result = list(zip(df2['Y'], df2['M']))

print(result)

输出

[(3, 'Yes'), (5, 'No'), (3, 'Yes')]

如果我没有弄错你想要什么,你可以简单地使用 print(df[["Y","M"]].dropna())。 如果您希望从数据中完全删除 NaN,请在 dropna 方法中传递一个 inplace=True 参数 (df.dropna(inplace=True))。