[英]Dynamic Filtering a Dataframe based date in Pandas with condition
[英]Write an excel file with dynamic sheet names based on a filtering condition
我有一個小問題。
我正在嘗試將完成的 excel 文件寫入 Pandas DataFrame 並根據過濾條件創建不同的工作表名稱:
#I created a variable to give me the unique names in the column I want to filter
Different_Versicherer = commissions_df.Versicherer.unique()
# I create an empty list to hold the frames
Versicherer = []*len(Different_Versicherer)
# I tried iterate through the unique column and do the filtering.
for i in range(len(Different_Versicherer)):
Versicherer[i] = commissions_df[commissions_df.Versicherer == Different_Versicherer[i]]
過濾的想法有效,無效的是我想動態更改工作表並將其添加到excel文件中。
請問你能指教嗎?
沒有示例數據很難給出答案,但我認為您想要這樣的東西:
import pandas as pd
df = pd.DataFrame({'var':['a','a','b','c','c','c'], 'value':[1, 2, 3, 4, 5, 6]})
writer = pd.ExcelWriter('example.xlsx')
for unique_var in df['var'].unique():
frame = df[df['var'] == unique_var]
frame.to_excel(writer, sheet_name=unique_var)
writer.save()
這將創建一個包含 3 個工作表('a'、'b'、'c')的 excel 文件,並在每種情況下過濾原始數據框以匹配該值。
這也可以使用groupby
來完成:
for unique_var, frame in df.groupby('var'):
# repeat code
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.