【发布时间】:2021-01-28 22:32:28
【问题描述】:
我正在尝试创建一个函数 (get_filtered_df),它给定一个过滤器和一个数据集,遍历特定列并应用一些函数 (get_filter) 来查找满足这些条件的行并添加到一些最终数据帧.
这是我迄今为止所取得的成就:
def get_filter(filter):
string_container = []
string_container.append(filter.upper())
string_container.append(filter.lower())
# More conditions here
return (string_container)
def get_filtered_df(string_container, df):
filtered_df = pd.DataFrame(df[df['Titles'].str.contains(string_container[0])], columns=df.columns)
return(filtered_df)
当我尝试使用 for 或 while 循环而不是固定索引 (0) 进行迭代时,问题就出现了,因为我从来没有获得附加满足条件的行的函数。
这是我尝试使用的具体说明:
for i in range len(get_filter('star')):
filtered_df.append(df[df['Title'].str.contains(get_filter('star')[i])])
filtered_df 返回始终为空
【问题讨论】:
标签: python pandas dataframe loops append