我有一个pandas数据框,其中包含多行和多列,填充了类型和值。所有的值都是字符串。我想要编写一个函数来满足以下条件:
1)我搜索的类型(列1)
2)第一个值(列2)
3)第二个连续值(在列2的下一行)
我成功地编写了一个可以搜索一个类型的一个值的函数,但是如何添加第二个类型呢?我觉得可能需要使用
我成功地编写了一个可以搜索一个类型的一个值的函数,但是如何添加第二个类型呢?我觉得可能需要使用
df.shift(axis=0)
命令来实现,但我不知道如何将该命令与条件搜索组合起来。import pandas as pd
d = {'type': ['wordclass', 'wordclass', 'wordclass', 'wordclass', 'wordclass', 'wordclass',
'english', 'english', 'english', 'english', 'english', 'english'],
'values': ['dem', 'noun', 'cop', 'det', 'dem', 'noun', 'this', 'tree', 'is', 'a', 'good', 'tree']}
df = pd.DataFrame(data=d)
print(df)
tiername = 'wordclass'
v1 = 'dem'
v2 = 'noun'
def search_single_tier(tiername, v1):
searchoutput = df[df['type'].str.contains(tiername) & df['values'].str.match(v1)]
return searchoutput
x = search_single_tier(tiername, v1)
print(x)```