pandas dataframe 数据框

数据框是一个二维数据结构,类似于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 #增加一列;逻辑结果的值赋给flag
print('增加一列:')
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']:永久删除

 

 

 

posted on 2018-10-29 10:38  Aking_Huang  阅读(223)  评论(0编辑  收藏  举报