DataFrame可选“条件”不过滤任何内容

2024-06-01 11:24:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个函数,它修改数据帧,绘制内容,然后返回更新后的数据帧。我希望有选择地向函数传递一个条件,该条件将应用于打印前过滤数据

例如: df[condition].plot()

这将愉快地绘制df的内容,根据我在condition中提供的标准进行过滤。但是如果有时候我不想过滤任何东西呢。是否有一些简单的东西我可以在condidtion中传递,这样它的行为本质上类似于df[:].plot()

下面是一个可执行示例:

import pandas as pd

df = pd.DataFrame([[1,2,3], [4,5,6], [7,8,9]], columns=['a', 'b', 'c'])
df.plot()

condition = df.b != 5
df[condition]           # works fine, filtering out the second row

condition = None
df[condition]           # would like to filter nothing, but raises KeyError```

Tags: 数据函数import示例内容df标准plot
1条回答
网友
1楼 · 发布于 2024-06-01 11:24:29

您可以创建一个新的数据框,其中包含与原始数据框形状匹配的所有True值。您正在尝试筛选并将其作为掩码传递:

condition = pd.DataFrame(True, index=np.arange(df.shape[0]), columns=df.columns)

df[condition]

相关问题 更多 >