python实现excel数据自动统计

 

  • 读取数据:首先,使用pandas读取Excel文件中的数据。

  • 分组:使用groupby根据指定的分组列对数据进行分组。

  • 统计次数:自动统计每组的指定列中每个唯一值出现的次数,和统计满足特定条件的计数

  • 保存:将需要的统计结果保存在新的文件中

import pandas as pd

# 定义一个函数来计算特定值组合的计数  
def count_specific_values(group, target_rs, target_lcd_s):  
    # 筛选特定值组合的行  
    filtered = group[(group['rs'] == target_rs) & (group['lcd_s'] == target_lcd_s)]  
    # 返回计数  
    return len(filtered)


file_path_1 = r'1.xlsx'  
sheet_name_1 = 'a' 
file_path_2 = r'2.xlsx'  
sheet_name_2 = 'b' 

df_succes = pd.read_excel(file_path_1,sheet_name=sheet_name_1)
df2_fail = pd.read_excel(file_path_2,sheet_name=sheet_name_2)

# 合并数据
df_data_total = pd.concat([df_succes, df2_fail], axis=0)

# 按name号分组
grouped_data = df_data_total.groupby("name")

# 使用pivot_table计算每个name组中的数据
auth_pivot_table = grouped_data["rs"].value_counts().unstack(fill_value=0) #rs的值分为0 2 4

# 计算0的次数
auth_pivot_table['0_cnt'] = auth_pivot_table[0]

# 计算2的次数
auth_pivot_table['2_cnt'] = auth_pivot_table[2]

# 计算4的次数
auth_pivot_table['4_cnt'] = auth_pivot_table[4]

# 计算AA次数
auth_pivot_table['AA'] = grouped_data.apply(lambda x: count_specific_values(x, 0, 2))

# 重置索引
auth_pivot_table.reset_index(inplace=True)

#选取特定列输出
result = auth_pivot_table[['name', '0_cnt', '2_cnt', '4_cnt', 'AA']]

# 重命名列名
result.columns = ['name', '0_cnt', '2_cnt', '4_cnt', 'AA']

# 保存结果到Excel文件
result.to_excel("name.xlsx")
print('save succ.')

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中处理Excel词频统计的方法如下所示: 1. 首先,你需要导入所需的库。使用import语句导入pandas库、jieba库和collections库。pandas库用于读取和处理Excel文件,jieba库用于分词,collections库用于统计词频。 2. 使用pd.read_excel()函数读取Excel文件,并将其存储到一个DataFrame中。你需要提供Excel文件的路径作为参数。 3. 接下来,定义一个函数用于进行分词和统计词频。在这个函数中,使用jieba库的cut()函数对文章内容进行分词,并使用Counter()函数统计词频。 4. 创建一个新的数据框new_df用于存储统计结果。该数据框包括三列:主题、词语和词频。 5. 遍历每个主题,对每个主题进行以下操作: a. 通过筛选相应的行,将文章内容合并为一个字符串。 b. 调用word_freq()函数对文章内容进行分词和统计词频。 c. 将统计结果写入新的数据框new_df。 6. 最后,使用to_excel()函数将新的数据框存储到Excel文件中。你需要提供一个文件名作为参数,并设置index=False以避免写入索引列。 以上是使用Python进行Excel词频统计的基本过程。你可以根据实际需求进一步调整代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python 助力词频统计自动化](https://blog.csdn.net/weixin_40796925/article/details/105132404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [python处理excel词频统计](https://blog.csdn.net/EaSoNgo111/article/details/129995500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值