如何将列追加到字典中的数据框

时间:2019-11-12 11:53:52

标签: python dataframe dictionary

`dict = {df.groupby(['Year','Month','Day'])}}中k,v的k:v,这是我的第一本字典。 dataframe_sample dict我正在处理数据任务。我正在产生一些异常分数,并将这些分数分配给空字典。我在另一本字典中也有多个数据框。 我想将由于异常检测而产生的新列追加,并将此列追加到字典中的每个数据框。有什么办法吗? 谢谢。 以下是我的空字典

result_anomaly_clustering={}
result_hbos_scoring={}
result_mad_based_outlier={}

for key in list(df_dict):
result_anomaly_clustering[key]=anomaly_clustering(2,df_dict[key])
result_hbos_scoring[key]=hbos_scoring (0.05,5,df_dict[key])
result_mad_based_outlier[key]=mad_based_outlier(3.5,df_dict[key])

上面的代码是我正在调用的异常算法函数

2 个答案:

答案 0 :(得分:1)

我发现主要问题是由于函数中的索引。当我在函数中固定索引后,问题就解决了。 感谢您的帮助。

答案 1 :(得分:0)

# sample dictionary with anomaly scores
anomalies = {1: 2, 2:8}

# sample dictionary with dataframes
data_frames = {1: pd.DataFrame(data={'a': [4,4]}), 2:pd.DataFrame(data={'b':[6,6,7]})}

# iterate over key, value pairs of the dictionary of dataframes 
# and create column score taken from anomalies dict by key 
# with key matching anomalies dict key.
for k,v in data_frames.items():
    v['score'] = anomalies[k]