为dataframe python列中的每个唯一值创建excel工作表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为dataframe python列中的每个唯一值创建excel工作表相关的知识,希望对你有一定的参考价值。

我有一个非常大的CSV文件,包含250,000多条记录,需要一段时间才能在Excel中进行任何分析,因此我希望根据我在pandas中创建的特定计算列将其拼接成多个工作表。

特定列称为“Period”,并且是我的数据帧中的字符串变量,形式为MMM_YYYY(例如,Jan_2016,Feb_2016等)

我正在尝试创建一个具有工作簿(我们称之为data_by_month.xlsx)的内容,其中包含数据框列“Period”中每个唯一句点的工作表,其中所有匹配的行都写入相应的工作表。

这是我尝试的逻辑:

for row in df:
    for period in unique_periods:
        if row[38] == period:
            with pd.ExcelWriter("data_by_month.xslx") as writer:
                df.to_excel(writer, sheet_name = period)

这背后的想法是对于数据帧中的每一行,遍历一个唯一周期列表中的每个周期,如果行[38] - 它是Period的索引 - 等于一个周期,则将其写入将data_by_month.xlsx工作簿转换为特定的工作表。

我知道我的代码现在完全不正确,但这是我一直试图实现的一般逻辑。我很确定我在数据框中错误地引用了“Period”列的位置,因为它一直在说它超出范围。任何的建议都受欢迎!

非常感谢!

答案

你应该能够在熊猫中使用groupby来实现这一目标。例如 ...

with pd.ExcelWriter("data_by_month.xlsx") as writer:
    for period, data in df.groupby('Period'):
        data.to_excel(writer, sheet_name = period)

以上是关于为dataframe python列中的每个唯一值创建excel工作表的主要内容,如果未能解决你的问题,请参考以下文章

如何创建键字典:column_name 和 value:来自数据框的 python 中的列中的唯一值

第3列中的总和值与第2列和第1列中的唯一值相关

计算熊猫列中每个唯一值的数量[重复]

PySpark DataFrame的逐行聚合

在python中,我如何对一列中每个值与另一列中的值发生的次数(多少行)建立矩阵?

如何将熊猫中的一列列表转换为Python中唯一值的稀疏DataFrame [重复]