[Python]DataFrame的创建、数据读取、增加删除行列

DataFrame数据读取

读取具体单元格值

方法一 df[‘ColName’][行号]
方法二 df.values[1][1]
df.values 去掉行名、列名只剩下数组构成的数组 ‘numpy.ndarray’
可用df.values[行号]取出整行数据
用df.values[行号][列号]取出单个数据

读取一列

df[‘ColName’]

读取多列

按列名取列
列举:
df[[‘ColName1’,‘ColName2’]] #取ColName1和ColName2两列

df.loc[:,[‘ColName1’,‘ColName2’,‘ColName3’]] #取ColName1和ColName2和ColName3三列

切片:
df.loc[:,‘ColName1’:‘ColName2’]#取ColName1到ColName2(含ColName2)的所有列
如:

df = pd.DataFrame({'one':[1,2,3],'two':[2,4,5],'three':[7,8,9]},index=[1,2,3])
print(df.loc[:,'one':'three'])

输出结果:
one two three
1 1 2 7
2 2 4 8
3 3 5 9

按列号取列
df.iloc[:,1:3] #取第二列(列号为1)和第三列(列号为2)

读取一行

df.loc[行号]或者df.iloc[行号]
区别如下
1.loc location 参数可以是自定义的行号
iloc integer 参数只能是默认的行号
如:

df = pd.DataFrame({'one':[1,2,3],'two':[2,4,5]},index = [1,2,3])
print(df.iloc[1])
print(df.loc[1])

输出:
one 2
two 4
Name: 2, dtype: int64
one 1
two 2
Name: 1, dtype: int64
2.切片索引是否包含右边
loc 包括,若自定义索引非阿拉伯数字,会报错;若有阿拉伯数字的自定义索引,按照该索引切片;没有就按照默认索引。
iloc 不包括,按照默认索引切片。与基础的df[行号1:行号2]切片效果一致。
如:

print(df.loc[1:2])#取自定义索引号为1和2的行
print(df.iloc[1:2])#取默认行号为1的行,即第二行

输出:
one two
1 1 2
2 2 4
one two
2 2 4

读取多行

df.loc[行号1,行号2]读取行号1和行号2数据
df[行号1:行号2]读取行号1到行号2的前一个的数据

DataFrame删除行

df = df.drop(自定义行号或者行名,没有自定义的话就是默认索引)

DataFrame删除列

df = df.drop(‘列名’,axis = 1)

DataFrame新增列

df.insert(新增列的列序号,‘新增列列名’,value)
value可以是一个值,该列所有值都是该值 ;也可以是长度等于行号的列表,一一对应。

DataFrame的创建

数组转化为DataFrame

df = pandas.DataFrame(nArray)

字典转化为DataFrame(values类型为series)

dic = {‘ColName’:,‘ColName1’:}
df = pandas.DataFrame(dic,index=[])
如:

df = pd.DataFrame({'one':data['POINT_X'],'two':data['POINT_Y']},index = [i for i in range(len(data))]])

dic = {‘ColName’:,‘ColName1’:}
如:

df = pd.DataFrame({'one':[1,2,3],'two':[2,4,5]},index = [1,2,3])

注意:index 为行索引,可随意更改;Columns 为字典键,不可以改,否则取不到值。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值