pandans学习笔记1

学习pandas笔记
数模期间用到了这个,就先记录一下用法之类的

# pandas 是导入的数据主要是一个dataframe格式的数据,处理数据的时候也是对他进行处理
# dataframe的索引由 index(行)和columns(列)组成,行与列都可以赋予一个名字(可为中文)

import pandas as pd
import numpy as np


pd.read_excel("Excel_File")  # 导入excel文件


with pd.ExcelFile("Excel_File") as xls:
    df1 = pd.read_excel(xls, "Sheet1")  # 导入某一个excel文件的某一个表格
df1.to_excel('')  # 导出excel
df2 = pd.DataFrame([])  # 创建一个新的空dataframe
df = pd.DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['utah', 'ohio', 'texas', 'oregon'])


# df的引用,赋值
df1.loc["index", "columns"] = "something"  # index和columns厘米至少有一个为str格式
df1.iloc[1, 2] = "something"  # iloc的索引必须为数字
df1["columns"] = "a_series"  # df['columns']是一个series类型
df1['columns'].isin(['waste'])  # 选取某一列里面值为‘waste’的那些行
# example: df1 = df1[~(df1['发票状态'].isin(['作废发票']))]
# 去除df里面,发票状态一列为作废发票的几行   ~ 表示取反


# apply 函数:一个自由度比较高的函数
# DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
# apply会提取出一列数据出来(axis=0)作为一个series,对这个series进行func函数操作,然后返回一个series
df['values'] = df.apply(lambda x: x.max()-x.min())  # 提取所有列中的最大值和最小值并相减
df1["开票月份"] = df1["开票日期"].apply(lambda x: x.strftime('%Y-%m'))
# 对于逻辑简单的,也可以直接使用 df1["开票月份"] = df1["开票日期"].strftime('%Y-%m')


# groupby 函数:可以参考这篇文章:https://www.cnblogs.com/Yanjy-OnlyOne/p/11217802.html
# 这是一个分类函数,依据输入的参数进行分类.在将表格合并出现各种问题的时候,可以试下使用这个,可以参考国赛的 数据处理_数据融合.py 文件


# 关于行列索引
# 1.初始化的时候可以设置
df.reset_index()  # 2.将现有的列索引取消,并作为普通的一列
df.set_index()  # 3.将某一列设为列索引
df.index  # 获取列索引
df2 = df2.sort_values(by='月份')  # # 排序 按月份这一列进行排序
df['columns'].tolist()  # 转为list
list(set(df['columns']))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值