我有一个pandas dataframe(xy):
| X线|y|
| - -----|- -----|
| 价值1|真的|
| 价值观2|真的|
| 价值3|假的|
| 价值观4|真的|
| 价值观5|假的|
| 价值观6|真的|
目标是提取值 从列x中,出现在列y中,基于布尔值 从表y到列表的“True”。
以下是我迄今为止尝试过的,但没有成功(参考:https://stackoverflow.com/questions/67230827/pandas-dataframe-select-column-by-boolean-values-in-matching-dataframe):lst = (xy['x'].loc[:, xy['x'].isin(xy['y'])]).tolist()
下面是我期望的结果:[value1, value2, value4, value6]
2条答案
按热度按时间7uhlpewt1#
首先需要过滤:
然后转换为列表:
vvppvyoh2#
首先,过滤dataframe,只得到
y
包含值True
的行。然后,获取这个已过滤 Dataframe 的
x
列,该列现在只包含y
包含值True
的行最后,使用
.tolist()
将其转换为列表:将输出