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']:永久删除

 

 

 

转载于:https://www.cnblogs.com/AkingHuang/p/9869265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值