我有多个表格,在python中转为Dataframe,所有Dataframe其中一列为:
target |
---|
Cn12as, as568 |
Cn12as |
2sazls |
as568 |
as568 |
我想要生成一个list,第一列是出现过的值,第二列时出现的次数:
value | number |
---|---|
Cn12as | 2 |
as568 | 3 |
2sazls | 1 |
目前只会写出现过的值,并将初始值设为0
if number not in cite_patent_list:
list.append( [number , 0] )
字典
target_column = ['Cn12as, as568', 'Cn12as', '2sazls', 'as568', 'as568']
counts = {}
for value in target_column:
if value not in counts:
counts[value] = 0
counts[value] += 1
result = [[key, value] for key, value in counts.items()]
print(result)
这种使用字典多好的
该回答引用Chatgpt
你可以使用pandas库实现这个功能:
import pandas as pd
# 假设你已经将多个表格转换为DataFrame
df = pd.concat([df1, df2, df3, ...])
# 计算每个值出现的次数
value_counts = df['target'].value_counts().reset_index()
# 将结果转换为列表
result = value_counts.values.tolist()
print(result)
# 输出:
# [['as568', 3],
# ['Cn12as', 2],
# ['2sazls', 1]]
以下答案引用自GPT-3大模型,请合理使用:
def create_frequency_table(target_column, frequency_column):
target_column = target_column.replace(" ","").lower()
frequency_column = frequency_column.replace(" ","").lower()
table = []
for number in target_column:
table.append([number,frequency_column.count(number)])
return table
如果我的回答解决了您的问题,请采纳我的回答
以下是我的解答,希望能帮到你:
from collections import Counter
import pandas as pd
df = pd.DataFrame(dict(target=['Cn12as, as568', 'Cn12as', '2sazls', 'as568', 'as568']))
count = Counter()
for row in df['target']:
row_list = row.split(", ")
count.update(Counter(row_list))
result = [[k, v] for k, v in count.items()]
print(result)
不知道你这个问题是否已经解决, 如果还没有解决的话: