修改列顺序
order = ['id','msg','reason']
df = df[order]
重命名列名
常用:
df.rename(columns={'A':'a','B':'b'},inplace=True)(inplace说明修改原数据)
高级用法示例:大写转成小写,去除头尾空格(strip)用替换空格
df.rename(columns=lambda x:x.strip().lower().replace(' ',""),inplace=True)
数据清理
检查冗余值 df.duplicated()
删除冗余值 df.drop_duplicates(inplace=True)
重置索引,使用groupby后,索引可能有多重列,可将索引中多字段列重新分割普通列:
df.reset_index()
value_counts()返回的series,转成dataframe,进行下一步的分析
test=pd.DataFrame(msg)
lambda if else
lambda x: 1 if x>0 else 0
拼接两个列名相同的dataframe
df = pd.concat([df,msg],axis=0,ignore_index=True)
存储字典的list可以直接转化为dataframe
拼接两个dataframe,
pd.merge(df1,df2) 相当于sql, join的左连接
字符串截取
str[0:4] #截取第一位和第四位的字符
str[:-1] #截取从开头到倒数第一位的字符
python遍历list的方式:
for i,val in range(len(temp)):
for i,val in enumerate(temp):
找到含缺失值的含数据(没有冗余):
df[df.isnull().values==True].drop_duplicates()
合并列表
append()向列表尾部追加一个元素,只占一个索引位
extend()像列表尾部追加一个李彪,将列表2中 的每个元素都追加进列表1 .
- 与extend同
+=同extend
list,series,tuple,转字符串,用法相同
str=','.join(str(i)for i in list)
字符串转dict,list
eval(str)
使用groupby分组下使用list(set)合并其他列数据
df1 = df2.groupby(['ip']).aggregate(lambda x:set(x))
遍历set ,list 的方式
for i in data:
import time
输入毫秒级的时间,转出正常格式的时间
def timeStamp(timeNum):
timeStamp = float(timeNum/1000)
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y.%m.%d", timeArray)
return otherStyleTime
dataframe转换数据格式,可以在df后添加相应列名,可以单独转化,string,int,float,object互转
df= df.astype('str')
读取json文件
import json
with open('psth','r') as load_f:
load_dict = json.load(load_f)
ioc_list=[]
遍历dict
for k,v in load_dict.items():