[英]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.