2 回答

TA贡献1871条经验 获得超8个赞
我认为需要提取第一个值,然后与str.contains或比较str.endswith:
first = df['Col 1'].iloc[0].split('-')[1]
#if want check first today day
#first = pd.datetime.now().strftime('%a')
print (first)
Mon
df = df[~df['Col 1'].str.contains(first)]
#Jon Clements suggestion, thank you
df = df[~df['Col 1'].str.endswith(first)]
print (df)
Col 1 Col 2
2 val3-Tues A
3 val4-Tues B

TA贡献1841条经验 获得超3个赞
通过在上分割创建一天列'-',然后使用.iloc进行过滤以确保我们与第一行匹配:
df['Day'] = df['Col 1'].str.split('-').str[-1]
filtered = df[df['Day'] == df['Day'].iloc[0]]
print(filtered)
印刷:
Col 1 Col 2 Day
0 val1-Mon A Mon
1 val2-Mon B Mon
4 val5-Mon A Mon
5 val6-Mon B Mon
6 val7-Mon A Mon
7 val8-Mon B Mon
添加回答
举报