本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

如何读取CSV文件并合并内容并计算出现比例?

网络教程 app 1℃

如何读取CSV文件并合并内容并计算出现比例

如何读取csv文件后合并内容

在读取csv文件后,可以通过以下步骤合并内容:

1. 获取主键列和待合并列
使用pd.read_csv()读取csv文件,并获取主键列(cmd)和待合并列(opt)。

2. 删除重复主键
使用set()和sorted()删除cmd列中的重复元素,得到不重复的主键列表。

3. 计算主键出现次数
使用counter()计算每个主键出现的次数,得到一个词频字典。

4. 初始化合并后的结果
创建一个文件来保存合并后的结果。

5. 遍历主键
对于每个主键,执行以下操作:

获取该主键对应的opt列索引。创建一个新的列表来存储opt列中的值。遍历opt列索引,将值添加到新列表中。将新列表转换为字符串,再转换为列表。

6. 计算并输出每个opt的出现比例
遍历不重复的opt值,计算每个opt在该主键下出现的次数与主键出现次数的比值,并将其写入结果文件中。

示例代码:

import pandas as pdimport osdata = pd.read_csv(‘test.csv’)useRateF = ‘test_new.csv’index_list_cmd = sorted(set(list(data.cmd.values)), key=list(data.cmd.values).index)cntLst = []for lst_i in range(len(index_list_cmd)): cntLst.append(data.cmd.value_counts()[index_list_cmd[lst_i]])if os.path.isfile(useRateF): os.remove(useRateF)for cmd_i in range(len(index_list_cmd)): index_list_opt_idx = list(data.opt[data.cmd == index_list_cmd[cmd_i]].index.values) index_list_opt = [] for opt_i in range(len(index_list_opt_idx)): try:index_list_opt.append(data.loc[int(index_list_opt_idx[opt_i]), ‘opt’]) except:print(index_list_cmd[cmd_i])print(index_list_opt_idx[opt_i])print(opt_i) str_idxLstOpt = ‘ ‘.join(index_list_opt) lst_idxLstOpt = str_idxLstOpt.split(‘ ‘) for tag in sorted(set(lst_idxLstOpt), key=lst_idxLstOpt.index): with open(useRateF, ‘a’, encoding=’utf-8_sig’) as uf:uf.writelines(str(index_list_cmd[cmd_i]) + ‘,’ + tag + ‘,’ + str(lst_idxLstOpt.count(tag)/cntLst[cmd_i]))uf.writelines(”)

以上就是如何读取CSV文件并合并内容并计算出现比例?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » 如何读取CSV文件并合并内容并计算出现比例?

喜欢 (0)