西北乱跑娃 -- pandas数据处理与分析

1.公共函数

import requests

# 假设的多参数公共函数
def exists(val, url, question, methods):
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36',
    }

    res = requests.get(url, headers=headers).content.decode('utf-8', 'ignore')
    if methods == "答":
        if val in res:
            return "存活"
        return "死亡"
    else:
        if question in res:
            return "存活"
        return "死亡"

2.读取数据

pandas支持读取多种数据类型,常见的有excel(xls),csv,sql等具体查看源代码

# pandas读取csv为DataFrame
info = pd.read_csv('test.csv')

# pandas读取xls为DataFrame
infos = pd.read_excel("mt.xls")
datas = pd.DataFrame(infos)
datas

3.多参数函数处理一列或多列值,并新增新字段

// 自定义函数处理多参数函数
dicts = list(datas.to_dict(orient="inedex").values())
alive = []
for dic in dicts:
    acount, url, question, methods = dic["账号id"], dic["链接"], dic["问题标题"], dic["备注(问or答)"]
    dic["是否存活"] = exists(acount, url, question, methods)
    print(dic)
    alive.append(dic)

# 将列表嵌套字典形式数据转化成DataFrame
# DataFrame可以展示表格化数据,处理数据和储存数据
result = pd.DataFrame(alive)

4.删除DataFrame中某一列,想删除多列,可以增加下面列表值即可

datas.drop(["是否被收录"], axis=1, inplace=True)

5.通过单独字典过滤修改某一列数据

datas["状态"] = datas["状态"].map({0: "seccsess", 1: "fail"})

6.DataFrame转字典

DataFrame包含多种转化方法包括:to_json, to_html, to_dict, to_pdf, to_csv, to_excel等函数
to_dict默认转化为以列为列表的字典,加上orient='index’后会转化成以行为字典的列表

datas=list(data.to_dict(orient='index').values())

7.DataFrame空值None转“”

datas = datas.replace({None: ''})

8.DataFrame值转可点击链接

import pandas as pd
from IPython.display import display, HTML

# 创建示例 DataFrame
data = pd.DataFrame({'Name': ['John', 'Amy', 'Peter'],
                     'Website': ['https://www.example.com', 'https://www.google.com', 'https://www.openai.com']})

# 创建超链接的 HTML 标签
data['Website'] = data['Website'].apply(lambda x: f'{x}" target="_blank">{x}')

# 在 Jupyter Notebook 中显示 DataFrame
display(HTML(data.to_html(escape=False)))

持续更新。。。

你可能感兴趣的:(pandas,python,开发语言)