NLP(12): Pandas_

本文详细介绍了Pandas中的Series和DataFrame数据结构,包括它们的创建、自定义索引、缺失数据处理、运算及排序。还讨论了层次化索引在数据处理中的应用,并介绍了如何使用Pandas读取CSV和Excel文件,以及利用matplotlib进行数据可视化。
摘要由CSDN通过智能技术生成

第一节 初始Series

为什么学习pandas:
因为pandas含有使得数据分析工作变得更快和更简单的高级数据结构和操作工具
因为pandas时基于numpy来进行构建的,让以numpy为中心的应用变得更加的简单。

1、Series类型说明

这个就是一直类似于一堆数组的对象,它是由一组数据以及一组与之相关的数据标签索引组成(索引)。仅由一组数据即可产生最简单的series。

obj=Series([1,2,3,4,5)
obj.values
obj.index

2、自定义索引

obj=Series(["a","b","c"],index=[1,2,3])
obj[1]: "a"

3、series可以当作字典使用

data={"a":10000,"b"":1000,"c"":2000}
obj=Series(data)
keys=["a","c"]
obj_1=Series(data,index=keys)#只取出字典中对应a和c的values

4、对缺失数据的处理

data={“a”:None,"b":20000}
obj=Series(data)
pd.isnull(obj)#判断是否为空
obj.isnull()

5、指定series name和index name

obj.name=""
obj.index.name=""

第二节:初始Dataframe

是一个表格型的数据结构,含有一组有序的列,每一列可以是不同值的数据类型,数值,布尔值,字符串都可以
dataframe既有行索引也有列索引

1、构建一个dataframe

data={
	"60年代
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要优化这段代码,可以在 `sentiment_classify()` 函数中使用异常处理语句,避免出现 'items' 错误时程序崩溃。以下是修改后的代码: ``` import aip import time import pandas as pd from tqdm import tqdm content_list = [] positive_prob_list = [] negative_prob_list = [] def sentiment_classify(txt): client_appid = '34468201' client_ak = 'U3tHxNzzm3z89wXRpjSswVv3' client_sk = 'qlbLtgMcUg75Mmfd4ei1puzLXPpNgDfC' my_nlp = aip.nlp.AipNlp(client_appid, client_ak, client_sk) try: results = my_nlp.sentimentClassify(txt) positive_prob = results['items'][0]['positive_prob'] negative_prob = results['items'][0]['negative_prob'] content_list.append(txt) positive_prob_list.append(positive_prob) negative_prob_list.append(negative_prob) return positive_prob except: print("分析出错:", txt) return None df = pd.read_excel('/Users/26921/Desktop/shuju/20000-30000.xlsx') txt_content = df["content"] positive_times = 0 negative_times = 0 for txt in tqdm(txt_content): if sentiment_classify(txt) is not None: if sentiment_classify(txt) > 0.5: positive_times += 1 else: negative_times += 1 df_res = pd.DataFrame({"content": content_list, "positive_prob":positive_prob_list, "negative_prob":negative_prob_list}) df_res.to_excel("/Users/26921/Desktop/shuju/20000-30000(2).xlsx") print("分析完成,正向{}条,负向{}条!".format(positive_times, negative_times)) ``` 在修改后的代码中,我们在 `sentiment_classify()` 函数中使用了 try-except 语句。如果出现 'items' 错误,程序会跳过当前循环并打印出错信息,然后继续执行下一次循环。同时,在主函数中调用 `sentiment_classify()` 函数时,我们增加了一个判断,如果返回值为 None,则不执行后续的判断语句,而是直接跳过当前循环。这样就避免了出现错误时程序崩溃的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值