gpt4 book ai didi

python - 我如何找到字符串中单词的出现次数和出现百分比;如何修复错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:43 25 4
gpt4 key购买 nike

基本上我有这个我上传到 python 的 excel 文件,我创建了一个新列来标识每行中是否有一个词,如果它在一行中,那么它会出现为真,如果不是假。所以我有这个新专栏,我试图找出真假百分比。稍后我将尝试制作一个表格来区分所有的真假。我首先需要百分比方面的帮助。我是一个初学者,就像我上周开始的那样

所以对于百分比问题,我决定首先创建一个代码来计算列中单词“true”和“false”的出现次数,然后我会做一些数学运算来获得百分比,但我没有过去计算发生的次数。以下代码的乘积为 0,这不是应该显示的内容。

import pandas as pd
import xlrd
df = pd.read_excel (r'C:\New folder\CrohnsD.xlsx')
print (df)
df['has_word_icd'] = df.apply(lambda row: True if
row.str.contains('ICD').any() else False, axis=1)
print(df['has_word_icd'])
#df.to_excel(r'C:\New folder\done.xlsx')
test_str = "df['has_word_icd']"
counter = test_str.count('true')
print (str(counter))

这是更新后的版本,它仍然给我 0,我无法更改 df['has_word_icd'] 因为这就是最初引入变量的方式

import pandas as pd
import xlrd
df = pd.read_excel (r'C:\New folder\CrohnsD.xlsx')
print (df)
df['has_word_icd'] = df.apply(lambda row: True if
row.str.contains('ICD').any() else False, axis=1)
print(df['has_word_icd'])
#df.to_excel(r'C:\New folder\done.xlsx')

test_str = (df['has_word_icd'])

count = 0
for i in range(len(test_str)):
if test_str[i] == 'true':
count += 1
i += 1

print(count)

两者都给了我相同的结果

请帮帮我,这两个代码的输出都是“0”,不应该是这样。有人帮我得到一个代码,它直接给我“真”和“假”的百分比

最佳答案

这是一种使用列表推导来实现的方法。对于百分比,您可以使用 np.mean() 函数:

import numpy as np

df= pd.DataFrame({'a' : ['hello icd', 'bob', 'bob icd', 'hello'],
'b' : ['bye', 'you', 'bob is icd better', 'bob is young']})

df['contains_word_icd'] = df.apply(lambda row :
any([True if 'icd' in row[x] else False for x in df.columns]), axis=1)
percentage = np.mean(df['contains_word_icd'])
# 0.5

输出:

           a                  b  contains_word_icd
0 hello icd bye True
1 bob you False
2 bob icd bob is icd better True
3 hello bob is young False

关于python - 我如何找到字符串中单词的出现次数和出现百分比;如何修复错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56936798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com