✨Pandas站
🚩Pandas一些实操案例!
🌲 Pandas基础
`Pandas` 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析“三剑客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已经成为 Python 数据分析的必备高级工具
wc 这兄弟写的多 不写了,贴这方便日后查看Pandas基础
🌷 pandas内置数据结构
- Series(一维数据结构): Series 是带标签的一维数组,这里的标签可以理解为索引,但这个索引并不局限于整数,它也可以是字符类型,比如 a、b、c 等;该结构能够存储各种数据类型,比如字符数、整数、浮点数、Python 对象等,
Series 用 name 和 index 属性来描述 数据值。Series 是一维数据结构,因此其维数不可以改变
。 - DataFrame(二维数据结构):DataFrame 是一种二维表格型数据的结构,它既有行标签,又有列标签。行索引是 index,列索引是 columns。 在创建该结构时,可以指定相应的索引值。
🌲 Pandas实操案例
🌷 1.对excel中指定列做分句处理并导出
import pandas as pd
# 分句方法
def cut_sentences(content):
# 分句标识列表
flag = [".","。","!","!","?","?",";",";"]
content_len = len(content)
sentences = []
tmp_char = ''
for i, char in enumerate(content):
tmp_char += char
if (i + 1) == content_len:
sentences.append(tmp_char)
break
if char in flag:
next_id = i + 1
if not content[next_id] in flag:
sentences.append(tmp_char)
tmp_char = ''
return sentences
rd = pd.read_excel(r'D:/AI任务/01.数据分句/待处理.xlsx',"训练数据")
# 取出需要处理的数据
listA = rd['详细描述'].tolist()
listB = rd['问题简述'].tolist()
idx = []
descList = []
for i in range(len(list)):
# 对数据进行分句处理
sentences = cut_sentences(str(list[i]))
summary_ = cut_sentences(str(listB[i]))
# 数据长度小于3的丢弃
for j in sentences:
if len(j)>3:
# 同一条数据添加同一id
descList.append([i,j])
for j in summary_:
if len(j)>3:
descList.append([i,j])
df = pd.DataFrame(descList,columns=["id","问题描述"])
df.to_excel('D:/AI任务/01.数据分句/save.xlsx', index=False,encoding="GBK")
对excel表中
训练数据
sheet页中的详细描述
,问题简述
列数据取出,以flag
列表中的符号作为分句标识进行分句。同一数据分的不同句子赋值同一id,最后将其输出为两列:id
,问题描述
的excel文件