DataFrame处理

创建dataframe

df1 = pd.DataFrame(data1, columns = ["a", "b"])

 

 ndarray转化为DataFrame

In:type(y)
Out:numpy.ndarray

from pandas import DataFrame
pre = DataFrame(y,columns=['pre'])

import pandas as pd
pre = pd.DataFrame(y,columns=['pre'])


In:type(pre)
Out:pandas.core.frame.DataFrame

在Dataframe中添加列

#添加空白列
df1['q'] = None
#添加所有值为1的列
df1['p'] = '1'

 Dataframe重置索引

import pandas as pd
#不保留原来索引
df_new = df.reset_index(drop=True)

#保留原来索引
df_new2 = df.reset_index()

检查有多NAN

print (rawdata.isnull().sum())
Patent Number                   0
Main Target-based Actions    3607
Target-based Actions         3607
dtype: int64

将含有NAN的行去掉

data_without_NaN =rawdata.dropna(axis=0)

改变列格式

df['a'] = df['a'].astype('str')#str为改变后的格式

值替换https://zhuanlan.zhihu.com/p/30829387替换 replace()及部分替换

#A、B、C的值替换为1、2、3
df3 = df.replace({'A">\n\n':'1',
            'B"/>\n\n':'2',
            'C"/>\n\n':'3'})

对dataframe列处理后增加一列,lambda函数应用在dataframe

#列处理,去除首尾空格

df00['id'] = df0['id'].apply(lambda x :x.strip())



#正则匹配合适的文本
chapter_test_ch['ch'] = chapter_test.EntryDescription.apply(lambda x:re.sub(r'[^\u4e00-\u9fa5]', "",x))


#自定义函数后处理

def split_apro(x):
    return x.split(' ' ,3)[1].replace('(','').strip()
df0['AproveNo'] = df0.Dname.apply(lambda x:split_apro(x))

 

你可能感兴趣的:(数据处理)