DataFrame 中取单个值的读取和修改

导读:本篇文章讲解 DataFrame 中取单个值的读取和修改,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

修改对应位置的值

知道index 和列名的时候

不知道index 根据条件修改的时候

所有查询

查对应行

使用索引值取对应位置的元素值

loc 修改

iloc[row_index, column_index] (使用索引位置)

iloc 修改

.at .iat .ix


本人感觉:iloc和iat在新手阶段最好用(取值或者修改值)

修改对应位置的值

知道index 和列名的时候

pd.loc[3,'column_name'] = n

不知道index 根据条件修改的时候

#      多个条件, 与或非 找到对应的行, 后面要改的列,最后填值
pd.loc[(pd['STATUS']=='index_name1'|(pd['STATUS']=='index_name2'),'column_name'] = n

所有查询

查对应行

df[row_start_index, row_end_index] 

#示例
df[0:]    #第0行及之后的行,df的全部数据
df[:2]    #第3行之前的数据不包含第三行 左开右闭
df[0:1]    #第0行
df[1:3] #第2行到第3行(不含第4行)
df[-1:] #最后一行
df[-3:-1] #倒数第3行和倒数第2行,因为没有-0,所以没有最后一行

使用索引值取对应位置的元素值

df.loc[index,column] 

#示例
data2.loc['a','segments_name']  #  上面提到的直接取值
data2.loc['a',['segments_name','cnt_case_with_segment']] # 一行两列转置成个列表
data2.loc['a':'c',['segments_name','cnt_case_with_segment']]     #选取第1行到第3行的数据, 这里面是全闭区间 这里生成dataframe

data.loc[data['gender']=='m','name']      #选取gender列是m,name列的数据
data.loc[data['gender']=='M',['name','age']] #选取gender列是m,name和age列的数据

loc 修改
 

df.loc['a','name'] = 'aa' #修改index为‘a’,column为‘name’的那一个值为aa。
df.loc['a'] = ['bb','ff',11] #修改index为‘s’的那一行的所有值。
df.loc['a',['name','age']] = ['bb',11]    #修改index为‘a’,column为‘name’的那一个值为bb,age列的值为11。

iloc[row_index, column_index] (使用索引位置)

data2.iloc[0,0]        #第1行第1列的数据
data2.iloc[1,2]        #第2行第3列的数据
data2.iloc[[1,3],0:2]#第2行和第4行,从第1列到第2列(左闭右开不包含第3列)的数据
data2.iloc[1:3,[1,2]]    #第2行到第3行(不包含第1,4行),第2列和第3列的数据

iloc 修改

df.iloc[1,2] = 19   #修改一无素
df.iloc[:,2] = [11,22,33] #修改一整列
df.iloc[0,:] = ['lily','F',15] #修改一整行

.at .iat .ix

#at函数(使用索引值访问单个元素)
df.at['a','A']
#iat函数(使用索引位置访问单个元素)
df.iat[0,0]
#ix函数(loc与iloc的混合) 切片索引+普通索引同时使用时候的交叉索引
df.ix[0:2,'A':'C']

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103237.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!