前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目四 pandas预处理北京公交线路

项目四 pandas预处理北京公交线路

原创
作者头像
弟大翻着洗
发布2024-09-28 20:46:43
70
发布2024-09-28 20:46:43
举报
文章被收录于专栏:人邮电数据采集与预处理
代码语言:python
代码运行次数:0
复制
import pandas as pd

# 读取 CSV 文件
bus_info = pd.read_csv('./Processed_Beijing_Bus_Info.csv')

# 去重并重置索引
bus_info1 = bus_info.drop_duplicates().reset_index(drop=True)

# 去掉缺失值并重置索引
bus_info2 = bus_info1.dropna().reset_index(drop=True)


# 清洗“总里程”列
def clean_distance(distance):
    # 如果存在 '|' 则分割
    if '|' in distance:
        distance = distance.split('|')[0]
        if '咨询' in distance:
            distance = distance.split('。')[0]
    elif '线路咨询' in distance:
        distance = distance.split('线路咨询')[0]
        if distance == '':
            distance = '没有标识'
        elif '低峰间隔' in distance or '间隔' in distance:
            distance = distance.split('。')[0]  # 处理低峰间隔
    elif ('本线路' in distance or '南沟村' in distance or '定点班车' in distance):
        distance = '没有标识'
    elif '线路' in distance:
        if '工作日' in distance:
            distance = distance.split('工作日')[0].split('。')[1]
        elif '52' in distance:
            distance = distance.split('。')[1]
        else:
            distance = distance.split('。')[0]
            if '全程' not in distance:
                distance = '没有标识'
    else:
        distance = distance.split('。')[0]
        if '全程' not in distance:
            distance = '没有标识'

    return distance


# 应用清洗函数
bus_info2['licheng'] = bus_info2['licheng'].apply(clean_distance)

# 打印清洗后的数据前五行
print("\n清洗后的数据前五行:")
print(bus_info2['licheng'].head())

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档