码迷,mamicode.com
首页 > 编程语言 > 详细

python操作问题记录

时间:2020-03-08 19:46:16      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:格式   selenium   ons   find   out   cut   alc   url   oca   

时间转换

import time
a = 2020-03-06 19:18:00
a1 = time.strptime(a,%Y-%m-%d %H:%M:%S)  #格式化str为time格式
print(time.strftime(%Y%m%d,a1))  #格式化time格式为str
print(time.asctime(time.localtime(time.time())))  #格式化当前时间为   Thu Apr  7 10:29:13 2016
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))   # 格式化成2016-03-20 11:45:39形式
print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))  # 格式化成Sat Mar 28 22:24:24 2016形式

a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))) # 将格式字符串转换为时间戳

import calendar
calendar.month(2016, 1)   #输出2016年1月份的日历

import pandas as pd
pd.to_datetime(2016-03-20).strftime(%Y%m%d)  #pandas 格式化str输出

from datetime import datetime,timedelta

datetime.today() # 返回当前时间时分秒都为0
now.isoweekday()# 返回的1-7代表周一--周日
now.weekday()# 返回的0-6代表周一--到周日

(pd.to_datetime(20200130)+timedelta(days=3)).strftime(%Y%m%d)  #格式化后三天的日期

now = datetime.now()+timedelta(days=3)
print(now.strftime(%Y-%m-%d)) #格式化当天后三天的日期

 

列表排序

a = [e, a, u, o, i]
a.sort()  #升序 正序
a.sort(reverse=True)  # 降序 逆序   不能存变量
a.sort(key= lambda x : x[1]) # 根据第二个字母排序  默认根据第一个字母排序

sorted(a)  # 可存变量  保留原list  可传参数 reverse = True 降序 , reverse = False 升序(默认)
sorted([[6,7,8],[2,3,4],[1,2,3]], key=lambda x: x[2]) #多维列表 根据元素排序
d = {lily:25, wangjun:22, John:25, Mary:19}
sorted_keys = sorted(d) # 对字典而言,默认是对keys进行排序
print(sorted_keys)
sorted_keys1 = sorted(d, key=lambda x : x[1])
print(d_new2)

d_new = sorted(d.items(), key=lambda x: x[1], reverse=True) # 根据年龄排序,返回列表形式
print(d_new)
d_new = dict(d_new) # 使用内置函数把嵌套列表转换成字典
print(d_new)

sorted_values = sorted(d.values(), key=lambda x:x, reverse=False) # 排序值
print(sorted_values)

输出:
[John, Mary, lily, wangjun]
[wangjun, Mary, lily, John]
[(lily, 25), (John, 25), (wangjun, 22), (Mary, 19)]
{lily: 25, John: 25, wangjun: 22, Mary: 19}
[19, 22, 25, 25]


#互换dick的key和value
d = {lily:25, wangjun:22, John:25, Mary:19}
d_new = {v:key for key,v in d.items()}
print(d_new)
输出:{25: John, 22: wangjun, 19: Mary} 

 

编码转换

df.to_csv(abdata.csv, mode=a, encoding=utf_8_sig) # pandas导出csv 要指定编码

#python2 指定utf8
#coding:utf-8
import sys
reload(sys) 
sys.setdefaultencoding("utf-8")

 

pandas操作

import numpy as np
import pandas as pd

pd.options.mode.chained_assignment = None  #忽略警示信息提示

np.array(df0[[name,key]]).tolist()  #dataframe转化list

dfdata = pd.DataFrame()

dfdata  = dfdata.append(df1,ignore_index=True) #pandas append必须存入变量 否则不生效

pd.DataFrame([[1,2,3],[1,2,3]],columns=[a,b,c],index=df0.index)  #创建dataframe
df0 = pd.DataFrame({id:[3,4,5,6,7,3,4,5],
  name:[10.54,11.11,12.80,10.05,11.21,10.98,11.12,10.55]},
  index=(a1,a2,a3,a4,a5,a6,a7,a8))

df0.loc[df0[id] == 3 ,key] = 1
df0.loc[df0[id] == 5 ,key] = 0  # 进行布尔值判断 输出符合条件 

pd.concat([df0, df1], axis=1)  #合并两个dataframe 
df.index=pd.to_datetime(df.date)  # 将index 改为时间
df=df.sort_index() #排序index
df[ret]=df.close/df.close.shift(1)-1   # .shift(1) 获取下一个 .shift(-1) 获取上一个



df[当天仓位].fillna(method=ffill,inplace=True)  #根据一列nan值填充上一个不为nan的值

(df_new.ret+1.0).cumprod()  #计算当前值并累计

df1[ret].diff()   # 比较上一值与当前值的差
df[close].rolling(v).mean()   # 移动窗口list的均值

.loc[a1]#根据index获取行    .iloc[0].name #根据行号获取行的某个值


# series 根据list 判断是否存在
df0[df0[id].isin([3,4])]   #根据list获取列表信息
df0[~df0[id].isin([3,4])]  #根据list获取列表信息 取反

# series 根据list 排序
df[words] = df[words].astype(category)  #必须转换成这个格式
  df[words].cat.reorder_categories([1,2,3], inplace=True)  # list长度相等用这个
  df[words].cat.set_categories([1,2,3], inplace=True) # list多 用这个
  df[words].cat.set_categories([1,2,3], inplace=True)   # list少  用这个
df.sort_values(words, inplace=True)

#pandas 读写mysql from sqlalchemy import create_engine mysq = create_engine(mysql+pymysql://root:mysql.123@localhost/abdata?charset=utf8) df.to_sql(coun,mysq,if_exists=append,index=False) # 追加数据 df.to_sql(counts,mysq,if_exists=replace,index=False) #删除并写入表 df = pd.read_sql_query(select * from cod1,mysq) # 查询mysql表 #pymysql读写mysql import pymysql conn = pymysql.connect(127.0.0.1, root, mysql.123, data,charset=utf8) cur = conn.cursor() sql1 = "SELECT * from (SELECT * from data1 ORDER BY id DESC LIMIT %s ) aa order by id" %sum cur.execute(sql1) c1 = cur.fetchall() #读取mysql conn.commit() #写入mysql cur.close() conn.close()

 

requests

import requests
from bs4 import BeautifulSoup
from selenium import webdriver

htm = requests.get(url=url,headers=headers,timeout=30,stream=False).text
soup = BeautifulSoup(htm, html.parser)
txt = soup.find_all(div, class_=lax-s)


‘‘.join(str(i)+‘,‘ for i in df1[‘cod‘].tolist())[:-1] #list转换str

 

python操作问题记录

标签:格式   selenium   ons   find   out   cut   alc   url   oca   

原文地址:https://www.cnblogs.com/da-guo/p/12444133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!