df.value_counts().to_frame().to_excel()在循环中追加存储到新excel表格中
时间: 2024-05-08 19:22:30 浏览: 165
您可以尝试以下代码:
```python
import pandas as pd
# 创建一个空的DataFrame用于存储所有数据
df_all = pd.DataFrame()
# 循环处理每个Excel文件
for filename in filenames:
# 读取Excel文件
df = pd.read_excel(filename)
# 统计每个值的出现次数,并转化为DataFrame格式
df_count = df.value_counts().to_frame()
# 将文件名作为新列加入DataFrame
df_count['filename'] = filename
# 将当前DataFrame追加到所有数据的DataFrame中
df_all = pd.concat([df_all, df_count])
# 将所有数据保存到新的Excel文件中
with pd.ExcelWriter('all_counts.xlsx') as writer:
df_all.to_excel(writer, index=False)
```
这段代码依次处理每个Excel文件,将每个文件中每个值的出现次数统计出来,并将文件名作为新列加入DataFrame中。最后将所有数据保存到一个新的Excel文件中。注意,`pd.ExcelWriter`可以创建一个Excel文件,并在其中写入多个DataFrame,因此可以在循环中使用。
相关问题
df.value_counts().to_frame().to_excel()在循环中怎么追加存储
你可以使用`pandas`的`ExcelWriter`来实现追加写入Excel文件。以下是一个示例代码:
```
import pandas as pd
# 创建一个ExcelWriter对象
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
# 循环中追加写入数据
for i in range(5):
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
sheet_name = 'Sheet{}'.format(i+1)
df_value_counts = df['A'].value_counts().to_frame()
df_value_counts.to_excel(writer, sheet_name=sheet_name)
# 保存Excel文件
writer.save()
```
在上面的示例代码中,我们首先创建了一个`ExcelWriter`对象,然后在循环中追加写入了数据,最后保存Excel文件。每次调用`to_excel`方法时,我们需要指定`sheet_name`参数,以便将数据写入不同的工作表中。
追加df.value_counts().to_frame().to_excel()数据统计并导出excel
如果你想对一个 DataFrame 进行计数并将结果导出到 Excel 文件中,可以按照以下步骤操作:
1. 首先,使用 `value_counts()` 方法对 DataFrame 进行计数,将结果保存为一个 Series。
2. 将 Series 转换为 DataFrame,并使用 `to_frame()` 方法将其转换为单独的 DataFrame。
3. 最后,使用 `to_excel()` 方法将 DataFrame 导出到 Excel 文件中。
下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({
'Fruit': ['Apple', 'Apple', 'Banana', 'Orange', 'Orange', 'Orange', 'Grape'],
'Quantity': [2, 5, 3, 1, 4, 2, 6]
})
# 使用 value_counts() 方法计数,并将结果保存为 DataFrame
counts = df['Fruit'].value_counts().to_frame()
# 将结果导出到 Excel 文件中
counts.to_excel('fruit_counts.xlsx')
```
这将在当前目录下创建一个名为 `fruit_counts.xlsx` 的 Excel 文件,其中包含每种水果的数量。
阅读全文