python数据分析常用方法-1[更新中]

了解数据

读取数据

说明:数据按照tab的方式分隔

df = pd.read_csv('../input/data_train.csv',sep = '\t',encoding='GBK',header=None,names=['id','a','b','c'])

保存数据

df.to_csv('../input/train.csv',index =False,encoding = 'utf-8')

数据的各种信息

#数据概览
df.info()
df.describe()
df.isnull().sum()#查看每一列缺失值情况
df_train["label"].value_counts()  #查看这一列的值统计

数据处理

DataFrame拆分

说明:按照某一列的值拆分成几个小的DataFrame(笨办法)

df_train中,行业那一列的取值为{“食品餐饮”}

df_train1 = df_train[df_train['hangye']=="食品餐饮"]
df_train2 = df_train[df_train['hangye']=="旅游住宿"]
df_train3 = df_train[df_train['hangye']=="金融服务"]
df_train4 = df_train[df_train['hangye']=="医疗服务"]

DataFrame 分组

group1 = df.groupby(['hang','label']) #对数据分组
group1.count()   #显示分组完后数据的count值              ##还可以有其他的信息

DataFrame随机选取数据

 new_df = df[df.label==2].sample(n=200) #随机选取200条标签为2的数据
 new_df.sample(frac=1)              #shuffle数据,frac = 1代表选择全部的数据
 df = df.sample(frac=1).reset_index(drop=True)  # 重置索引

创建空的DataFrame

说明:创建空的dataFrame,逐行添加数据

df = pd.DataFrame() 
for indexs in df.index:
    value =list( df.iloc[indexs].values[0:])
    # print(value)
    i = value.index(max(value))    
    # max() python 内置的求最大值函数 
    # list.index()求索引(位置)
    raw = pd.DataFrame({"id":indexs,"label":i},index=["0"])#此处为dataFrame
    #  print(raw)
    df = df.append(raw,ignore_index = True)

文本相关

# 空白的处理方式
def fillnull(x):
    if x == '':
        return '空'
    else:
        return x

df_train['discuss']= df_train['discuss'].map(lambda x: fillnull(x))
# 去掉句子里面的标点符号
   stri = re.sub(r'[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。??、~@#¥%……&*()][ ]','',str(stri))

参考:
1. Shuffle DataFrame rows
结语:解决问题的时候百度了各种资料,本人比较懒,就不去再挨个找出来啦

猜你喜欢

转载自blog.csdn.net/qq_23069955/article/details/80685567