需要编写一个函数,将来自两个不同长度的不同列的两个值连接在一起
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)
)。
我有一个看起来像这样但至少有 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)
)。