繁体   English   中英

子集pandas DataFrame,并分为3个DataFrame

[英]subset pandas DataFrame and split into 3 DataFrames

如何通过一列中的值将pandas DataFrame子集化? 例如,我想按每个公司的名称分隔下面的数据集。

因此,我想将keywords数据帧分为3个不同的数据帧。 我试图定义一个函数,该函数将按列中的名称值拆分数据集,然后在该函数的列上运行一个for循环。 但是,它似乎不起作用。 有人知道我该怎么做吗?


keywords = {'Company':['amazon', 'amazon', 'amazon', 'target' 'target' 'target', 'walmart', 'walmart', 'walmart'], 
'keywords':['abc', 'def', 'ghi', 'jkl', 'mno', 'pqr', 'rst', 'uvw', 'xyz'], 
'type':['article', 'blog', 'news', 'article', 'blog', 'news', 'article', 'blog', 'news']}

def key(name):
    key = keywords.loc[name, :]
    return

for h in keywords['Company']:
    key(h)

以下假设df是加载了关键字数据的数据框

amazon_df = df.query('Company == "amazon"')

这将返回一个新的数据框,其中company列与字符串'amazon'相匹配。 要将变量传递到df.query字符串,请在变量名称前添加@符号。 pandas.DataFrame.query docs

例如:

def get_subset_df(df, company_name):
    return df.query('Company == @company_name')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM