Dataframe 从数据帧中选择列
我有一个每月1000只股票回报的数据框架,ID作为列名。 我只需要选择与另一个数据帧中的值相匹配的列,其中包括我想要的IDDataframe 从数据帧中选择列,dataframe,stockquotes,Dataframe,Stockquotes,我有一个每月1000只股票回报的数据框架,ID作为列名。 我只需要选择与另一个数据帧中的值相匹配的列,其中包括我想要的ID 我相信这真的很简单,但我已经挣扎了2天,如果有人有一个简单的解决方案,这将是非常感谢。谢谢。您可以将单列permno list数据框(osr\u curr\u permnos)转换为列表,然后使用该列表从主数据框(all\u rets)中选择某些列 要将osr\u curr\u permnos列“0”转换为列表,可以使用.To\u list() 然后,您可以使用该列表对
我相信这真的很简单,但我已经挣扎了2天,如果有人有一个简单的解决方案,这将是非常感谢。谢谢。您可以将单列permno list数据框(osr\u curr\u permnos)转换为列表,然后使用该列表从主数据框(all\u rets)中选择某些列 要将osr\u curr\u permnos列“0”转换为列表,可以使用.To\u list() 然后,您可以使用该列表对所有_ret和.copy()进行切片,将其重新复制到新的数据帧中 python代码可能类似于:
keep = osr_curr_permnos['0'].to_list()
selected_rets = all_rets[keep].copy()
“keep”将是一个列表,“selected_rets”将是您的新数据帧
如果osr\u curr\u permnos有可能有重复的,您需要过滤掉:
keep = osr_curr_permnos['0'].drop_duplicates().to_list()
selected_rets = all_rets[keep].copy()
正如我所预料的,答案比我想的要简单得多。基本上,我需要在我的permnos列表中获取整数值,并将它们重新转换为字符串
osr_curr_permnos['0'] = osr_curr_permnos['0'].apply(str)
keep = osr_curr_permnos['0'].values
然后,我可以使用它从返回数据框中选择列,返回数据框中有字符串值作为列标题
all_rets[keep]
这只是int与string的不匹配。请包括,而不是数据的图像谢谢。新投稿人和我都很欣赏关于如何创建更好帖子的指导。