其实算不上什么奇技淫巧,主要是自己没用过没见过的,或者用的不熟的。
主要提供个方法和角度,具体参数和具体操作都可以自己定制。
dataframe批量修改某一列
df['a'] = df['a'].map(lambda x: x*2)
dataframe删除空值
df.dropna(axis="index", how="any", inplace=True) # 有为空的值,则丢弃
df.reset_index(drop=True, inplace=True) # 重置索引
dataframe随机取样
random = df.sample(n=2000, replace=False) # 不放回抽取
dataframe访问指定行
df.loc[i, 'a'] # 访问第i行的'a'元素
df.loc[i, 'a':'g'] # 访问第i行的'a'到'g'元素
dataframe直接写入数据库
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:你的密码@localhost:3306/你的数据库名称')
con = engine.connect()
# df是已有的Dataframe类型数据
df.to_sql('example', con=engine, index=False, if_exists='replace')
- con:数据库配置
- index:是否将df的index单独写到一列中
- if_exists: 三个模式:fail,若表存在,则不输出;replace:若表存在,覆盖原来表里的数据;append:若表存在,将数据写到原表的后面。默认为fail。