【发布时间】:2020-09-29 18:46:24
【问题描述】:
我是 pandas 的新手,如果我对事情的解释有误,我深表歉意。
我有一个如下创建的数据框:
arrays = [array1, array2]
index = pd.MultiIndex.from_arrays(arrays, names = ("name1", "name2"))
df = pd.DataFrame({"name3": array3, "name4": array4}, index=index)
然后我使用第二个最佳答案here 中的代码,使用指数执行加权平均。
df2 = df.groupby(df.index).apply(lambda x: np.average(x.name3, weights=x.name4))
print(df2)
控制台上的输出如下所示:
(1, 2) 3
(4, 5) 6
(7, 8) 9
其中 (x,y) 是我分组的索引,最后的数字是加权平均值。
当我导出到 .csv 文件时,我得到一个如下所示的文件:
,0
"(1, 2)",3
"(4, 5)",6
"(7, 8)",9
这不是我想要的。我想要一个如下所示的 .csv 文件:
name1,name2,avg
1,2,3
4,5,6
7,8,9
我尝试过使用 reset.index() 但这不起作用。我想删除 .csv 文件开头的括号、引号和流氓 ,0 。我怎样才能做到这一点?非常感谢。
【问题讨论】:
-
能否提供一些示例数据?
-
@Roy2012 我现在添加了一些示例数据,如果您需要更多信息,请告诉我。
-
我看到你得到了答案......太好了。
标签: python pandas dataframe pandas-groupby export-to-csv