数据框是一个二维数据结构,类似于SQL中的表格。借助字典,数组,列表和序列等可以构造数据框。
1.字典创建数据框,则列的名称为key的名称:
d = { 'one':pd.Series([1,2,3],index= ['a','b','c']), 'two':pd.Series([1,2,3,4],index=['a','b','c','d'])}print(pd.DataFrame(d))
2.列表创建数据框:
d = pd.DataFrame([[1,2,3,4],[5,6,7,8],[10,20,30,40],[50,60,70,80]],columns=['V1','V2','V3','V4'])print(d)
3.列的选取,删除和增加:
df = pd.DataFrame([[1,2,3,4],[5,6,7,8],[10,20,30,40],[50,60,70,80]],columns=['V1','V2','V3','V4'])print(df,'\n')df['V5'] = df['V1']*df['V2'] #第一列与第二列相乘;print('第一列与第二列相乘:')print(df['V5'],'\n')df['Flag'] = df['V2'] > 20 #增加一列;逻辑结果的值赋给flagprint('增加一列:')print(df,'\n')del df['Flag'] #删除列V5 = df.pop('V5') #删除列print('删除列:')print(df,'\n',V5,'\n')df.insert(2,'V6',df['V1']) # 2为插入的位置,V6为列的名称,df['V1']为插入的数值print('插入列:')print(df,'\n')print('*'*50)
4.一般的选取方式:
操作方式 | 方法 | 结果 |
选择某一列 | def[col] | 序列 |
通过列标签选择某一行 | df.loc[col] | 序列 |
通过具体的位置选择某一行 | df.icol[2] | 序列 |
切行 | df[5:10] | 数据框 |
读取其中一行数据 | df.loc[0,:] df.iloc[0,:]df.ix[0,:] | |
复制数据框 | df1=df.copy() | 数据框 |
设置列名 | df1.columns=['weight1','height1','is_fat_1' | |
数据框的连接 | df_concat=df.join(df1)#左连接 或者 df_concat=pd.merge(df,df1,how='left',on='name')#合并 | |
数据直接保存为excel或者csv等格式 | df_concat.to_excel('df_conxcat.xls') df_concat.to_csv('df_conxcat.csv') | |
删除行、列 | print(df.drop(0,axis = 0))#删除行;axis = 0可以省略 print(df.drop('V1',axis = 1))#删除列print(df.pop('V4'))#删除列#df.drop不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据;df.pop从原来的df中删除,返回删除的列 del df['V4']:永久删除
|