Pandas给dataframe中某一行的某一个特定位置赋值loc iloc ix

pandas从dataframe中获取值可以用:

import numpy as np
from pandas import Series, DataFrame

import pandas as pd

df = DataFrame({'CST_NO': [11, 22, 11, 22, 11, 22],
                'AMOUNT': [10, 20, 30, np.nan, 1000, 2000],
                'START_TIME':['2016-08-21 17:15:15','2016-08-21 22:22:22',
                             '2016-08-22 16:16:16','2016-08-22 20:23:23',
                              '2016-08-23 15:12:12','2016-08-23 13:12:12'],
                'CLIENT_IP':['192.1', '192.2', '192.1', '192.3', '192.2','192.3'],
                'CLIENT_MAC':['ios', 'win', 'win', 'ios', 'ios','win'],
                'TO':['WEI', 'BAI', 'WEI', 'ZHU', 'WANG','ZHU'],
                })
a1 = df.iloc[0]["AMOUNT"]
a2 = df.iloc[0][1]
b1 = df.loc[1]['CST_NO']
b2 = df.loc[1, 'CST_NO']
print(a, aa)

结果:
10.0 10.0
22 22

pandas给dataframe中某一位置赋值:

df.iloc[0]["AMOUNT"] = "________"
print(df)

df.iloc[0][2] = "~~~~~~"
print(df)

df.loc[1]['CST_NO'] = "+++++++++++"
print(df)

df.loc[2,'CST_NO'] = "||||||||||"
print(df)

只有第四个成功被修改替换,其他三个都没有使df发生改变。

注:dataframe某一特定位置赋值,只能用df.loc[ROW_INT,COL_NAME]*

------------------------------------分割线----------------------------------------

iloc,loc,ix(现在已经被废弃)的区别:

.loc 的使用

.loc[],中括号里面是先行后列,以逗号分割,行和列分别是行标签和列标签,比如我要得到数字5,那么就就是:

data.loc[“b”,“B”]

.iloc

.iloc[]与loc一样,中括号里面也是先行后列,行列标签用逗号分割,与loc不同的之处是,.iloc 是根据行数与列数来索引的,不能用列名称进行索引

data.iloc[1:3,1:3]

.ix

.ix我发现,上面两种用法他都可以,它既可以根据行列标签又可以根据行列数

data.ix[1,1]
data.ix[“b”,“B”]

在pandas的1.0.0版本开始,移除了Series.ix and DataFrame.ix 方法。

可以用df.loc[]代替

参考博客:点击跳转1点击跳转2

  • 14
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要对pandas DataFrame的某一行进行操作,可以使用.loc方法。以下是一些对某一行进行操作的示例代码: 假设有一个DataFrame df,其一个名为'row_to_modify'的行需要进行操作。 1. 获取行数据: ``` row_data = df.loc['row_to_modify'] ``` 2. 更改行数据: ``` df.loc['row_to_modify'] = [new_value_1, new_value_2, ...] ``` 3. 删除行: ``` df = df.drop('row_to_modify') ``` 4. 在行末尾添加新行: ``` df.loc['new_row'] = [value_1, value_2, ...] ``` 注意:这些操作都是基于原始DataFrame的副本进行的,如果想要直接修改原始的DataFrame,可以使用inplace参数。例如,df.drop('row_to_modify', inplace=True)。 ### 回答2: 要对pandas dataframe的某一行进行操作,我们可以使用.loc或.iloc方法。 .loc方法用于按标签名选择行,可以通过指定行标签的方式来获取特定一行数据。例如,如果我们有一个名为df的dataframe对象,并且我们想要选择行索引为1的行,我们可以使用以下代码: df.loc[1] 这将返回一个包含索引为1的行的Series对象。我们可以对这个Series对象进行各种操作,例如修改值、计算统计信息等。 另一种常用的方法是使用.iloc方法,这种方法根据位置选择行。与.loc方法不同,.iloc方法使用整数位置而不是标签名。例如,如果我们想选择第2行,我们可以使用以下代码: df.iloc[1] 这也将返回一个包含第2行的Series对象。同样地,我们可以对这个Series对象进行各种操作。 除了选择特定的行之外,我们还可以根据某些条件来选择行。我们可以使用布尔索引来过滤出满足特定条件的行,并对这些行进行操作。例如,假设我们想选择某一列的值大于10的所有行,我们可以使用以下代码: df[df['column_name'] > 10] 这将返回一个包含满足条件的行的dataframe对象。我们可以对这个dataframe对象进行各种操作,例如修改值、计算统计信息等。 总之,要对pandas dataframe的某一行进行操作,我们可以使用.loc或.iloc方法选择特定的行,然后对选择的行进行所需的操作。同时,我们还可以使用布尔索引来选择满足特定条件的行,并对这些行进行操作。 ### 回答3: 要对Pandas DataFrame的某一行进行操作,可以使用以下方法: 1. 使用.iloc[]方法:可以通过索引位置来选取某一行。例如,假设我们有一个DataFrame df,我们想要操作第n行,可以使用df.iloc[n]来选取这一行。然后,我们可以对选的行进行各种操作,如修改值、删除或添加元素等。 2. 使用.loc[]方法:可以通过标签来选取某一行。同样,假设我们有一个DataFrame df,我们想要操作标签为label的行,可以使用df.loc[label]来选取这一行。然后,我们可以对选的行进行各种操作。 3. 使用布尔条件:可以使用布尔条件选择满足条件的行。例如,假设我们有一个DataFrame df,我们想要选取满足某一条件的行,可以使用df[df['column'] == value]来选取这些行。然后,我们可以对选的行进行各种操作。 对选的行进行操作有很多种方式,可以根据具体需求选择合适的方法。例如,可以修改选行的值,可以删除选行,也可以在选行的基础上添加新的行等。根据具体要求,选择合适的方法进行操作即可。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值