我有多张桌子,就像-

表A-

Seller Date sales
Ron 1-Aug 0
Jon 1-Aug 2
Kon 1-Aug 3
Kat 1-Aug 2
Mat 1-Aug 4

表B--

Seller Date sales
Ron 2-Aug 0
Jon 2-Aug 2
Kon 2-Aug 3
Kat 2-Aug 0
Mat 2-Aug 4

表C--

Seller Date sales
Ron 3-Aug 0
Jon 3-Aug 2
Kon 3-Aug 3
Kat 3-Aug 0
Mat 3-Aug 4

表D-

Seller Date sales
Ron 4-Aug 0
Jon 4-Aug 2
Kon 4-Aug 3
Kat 4-Aug 0
Mat 4-Aug 4

我需要找到价值始终为零的卖家名单,比如-

RON-始终为零

另一个发现是-找到最近3个日期价值为零的卖家,例如-

在过go 的3次约会中,凯特都是零.在表A中,日期为1-8月的凯特有一定的价值.

创建一个这样的卖家名单.我在类似类型的表中有许多数据.

Note -个表格没有按日期排序.

推荐答案

首先需要创建DataFrame,将列转换为日期时间并进行排序:

L = [df1, df2, df3, df4]

df=pd.concat([x.set_index('Seller')['sales'].rename(x['Date'].iat[0]) for x in L], axis=1)
df.columns = pd.to_datetime('2023'+df.columns, format='%Y%d-%b')

df = df.sort_index(axis=1)
print (df)
        2023-08-01  2023-08-02  2023-08-03  2023-08-04
Seller                                                
Ron              0           0           0           0
Jon              2           2           2           2
Kon              3           3           3           3
Kat              2           0           0           0
Mat              4           4           4           4

然后测试0个值,如果所有值都匹配,则从索引中获取名称列表:

m = df.eq(0)

out1 = df.index[m.all(axis=1)].tolist()
print (out1)
['Ron']

并且仅用于测试最后3个零值:

N = 3
out2 = df.index[m.iloc[:, -N:].all(axis=1)].difference(out1).tolist()
print (out2)
['Kat']

Python-3.x相关问答推荐

为什么在Python中使用RANDINT函数时会出现此TypeError?

数据类对象列表的字典获取方法-在数据类列表中查找具有特定变量值的数据类

PyQt5 中耦合滑块和拨号小部件.解决结果不一致的问题

「Python Pandas」多级索引列和行匹配,如果列和行名称相似,则排除这些单元格中的值添加

将自动文本转换为 DataFrame

通过匹配第一列的行值,逐个单元格地添加两个Pandas 数据框中的浮点数

如何在 20 秒后重复使用 Pillow 在现有图像上创建新图像?

Pandas matplotlib:条形图占总数的百分比

有没有办法使用重采样矢量化添加缺失的月份?

Pygame 错误地渲染等距图像

使用 from re findall 组合连续匹配并分离非连续匹配

没有可重定向到的 URL.提供一个 url 或在模型上定义一个 get_absolute_url 方法

从 Python2 到 Python3 的这种解包行为的变化是什么?

Python - 如何从同一台客户端机器运行多个Flask应用程序

ValueError:FixedLocator 位置的数量 (5),通常来自对 set_ticks 的调用,与刻度标签的数量 (12) 不匹配

__new__ 方法给出错误 object.__new__() 只接受一个参数(要实例化的类型)

为什么等效的 Python 代码要慢得多

__cause__ 和 __context__ 有什么区别?

将列表列表转换为Python中的字典字典

如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签