Pandas基本操作

记录一下Python中Pandas库的使用方法。(没有在海量数据中测试过)

import os.path
import pandas as pd


class testDB:
    def __init__(self, db_name, columns_name=[]):
        self.db_name = db_name
        if not os.path.isfile(db_name):
            self.df = pd.DataFrame(columns=columns_name, index=[])
            self.df.to_csv(db_name, index=False)
        else:
            self.df = pd.read_csv(db_name)

    def insert(self, row_data):
        self.df.loc[self.df.shape[0]] = row_data

    # 删除某一行数据,删除后下面的数据会顶上来
    def remove_row(self, row):
        self.df.drop(labels=row, axis=0, inplace=True)
        self.df.reset_index(drop=True, inplace=True)

    def remove_key(self, key_name):
        self.df.drop(labels=key_name, axis=1, inplace=True)

    def set(self, row, key_name, val):
        self.df.loc[row, key_name] = val

    def get(self, row, key_name):
        return self.df.loc[row, key_name]

    def update(self):
        self.df.to_csv(self.db_name, index=False)


if __name__ == '__main__':
    # 【1】新建数据库 包括四个键值
    db = testDB('test.csv', ['name','age','sex','score'])

    # 【2】插入四条数据
    db.insert(['mike',16,'man',98])
    db.insert(['peter', 14, 'man', 87])
    db.insert(['john', 23, 'woman', 92])
    db.insert(['alice', 18, 'woman', 79])
    db.update() # 更新数据至数据库

    # 【3】打开一个数据库
    db2 = testDB('test.csv')
    print(db2.get(2, 'name')) # 获取第3行(从0开始) 键值为name的值

    # 【4】修改内容
    db2.set(3, 'age', 30) # 修改第4行(alice)的年龄为30岁
    db2.set(1, 'sex', 'woman') # 修改第2行(peter)的性别为女人
    db2.remove_key('score') # 删除score键值
    db2.remove_row(0) # 删除第一行(mike)的所有数据
    db2.remove_row(0)  # 删除第一行(peter)的所有数据
    db2.insert(['me', 42, 'man']) # 插入一行新的数据
    db2.update() # 更新数据至数据库

【1】结果

【2】结果

【3】结果

【4】结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值