首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用df.iloc()赋值将返回nan

使用df.iloc()赋值将返回NaN是因为df.iloc()是用于按照位置选择数据的方法,而不是用于赋值的方法。df.iloc()返回的是一个视图,而不是原始数据的副本。因此,对于使用df.iloc()进行赋值操作,会导致原始数据不会被修改,而新赋的值将会被视为NaN。

如果想要赋值操作生效,可以使用df.loc()方法。df.loc()是基于标签进行选择和赋值的方法。通过指定行和列的标签,可以对指定位置进行赋值操作。

以下是一个示例代码:

代码语言:txt
复制
import pandas as pd

# 创建一个DataFrame
data = {'A': [1, 2, 3],
        'B': [4, 5, 6],
        'C': [7, 8, 9]}
df = pd.DataFrame(data)

# 使用df.loc()进行赋值操作
df.loc[0, 'A'] = 10

print(df)

输出结果为:

代码语言:txt
复制
    A  B  C
0  10  4  7
1   2  5  8
2   3  6  9

在这个例子中,我们使用df.loc[0, 'A'] = 10将第一行第一列的值赋为10。可以看到,赋值操作生效,并且原始数据被修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

数据清洗与准备(1)

本章讨论用于缺失值、重复值、字符串操作和其他数据转换的工具。...1、处理缺失值 缺失数据在数据分析中很容易出现,在pandas中使用NaN表示缺失值,称NaN为容易检测到的缺失值;同时python内建的None值在对象数组中也会被当做NA处理: import numpy...,如ffill或bfill isnull 返回表明哪些值是缺失值 notnull 作用域isnull相反 ---- (1)过滤缺失值 有多种过滤缺失值的方法,虽然可以用pandas.isnull手动过滤...,但是dropna在过滤缺失值上更为有用,在series上使用dropna,它会返回series中的所有非空数据及其索引值。...: df = pd.DataFrame(np.random.randn(7, 3)) df.iloc[:4, 1] = NA #根据轴索引赋值 df.iloc[:2, 2] = NA print(df

86510

数据整合与数据清洗

所以这一次简单讲一下Pandas的用法,以便以后能更好的使用。 数据整合是对数据进行行列选择、创建、删除等操作。 数据清洗则是整合好的数据去除其中的错误和异常。...# 返回pandas序列结构的类 print(df['age']) print(df.age) print(df.ix[:, 'age']) print(df.loc[:, 'age']) # 返回pandas...# 直接列赋值 df['adult'] = df['age'] // 18 print(df) # 使用assign赋值 df = df.assign(adult=df['age'] // 18) print...哪边连接,哪边的信息全保留,另一边的缺失信息会以NaN补全。 how的参数值分别为left、right、outer。...07 赋值与条件赋值 # 某个值替换 print(df.praise.replace(33, np.nan)) 条件赋值。这里以性别列为例,0,1,2替换为未知、男性、女性。

4.6K30

Python数据分析之pandas数据选取

df.loc[],df.iloc[],df.ix[]的区别如下: df.loc[]只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭。...df.iloc[]只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。; df.ix[]既可以使用标签索引,也可以使用整数索引。 下面分别通过实例演示这三种方法。...不过我看到有资料说,不建议使用df.ix[],因为df.loc[]和df.iloc[]更精确(有吗?我没理解精确在哪,望告知)。...4)选取数据时,返回值存在以下情况: 如果返回值包括单行多列或多行单列时,返回值为Series对象;如果返回值包括多行多列时,返回值为DataFrame对象;如果返回值仅为一个单元格(单行单列)时,返回值为基本数据类型...5)df[]的方式只能选取行和列数据,不能精确到单元格,所以df[]的返回值一定DataFrame或Series对象。 6)当使用DataFrame的默认索引(整数索引)时,整数索引即为标签索引。

2.8K31

Python数据分析之pandas数据选取

df.loc[],df.iloc[],df.ix[]的区别如下: df.loc[]只能使用标签索引,不能使用整数索引,通过便签索引切边进行筛选时,前闭后闭。...df.iloc[]只能使用整数索引,不能使用标签索引,通过整数索引切边进行筛选时,前闭后开。; df.ix[]既可以使用标签索引,也可以使用整数索引。 下面分别通过实例演示这三种方法。...不过我看到有资料说,不建议使用df.ix[],因为df.loc[]和df.iloc[]更精确(有吗?我没理解精确在哪,望告知)。...4)选取数据时,返回值存在以下情况: 如果返回值包括单行多列或多行单列时,返回值为Series对象;如果返回值包括多行多列时,返回值为DataFrame对象;如果返回值仅为一个单元格(单行单列)时,返回值为基本数据类型...5)df[]的方式只能选取行和列数据,不能精确到单元格,所以df[]的返回值一定DataFrame或Series对象。 6)当使用DataFrame的默认索引(整数索引)时,整数索引即为标签索引。

1.6K30

精心整理 | 非常全面的Pandas入门教程

如何安装Pandas 最常用的方法是通过Anaconda安装,在终端或命令符输入如下命令安装: conda install pandas 若未安装Anaconda,使用Python自带的包管理工具pip..., 2.0, 3.0, 4.0, 5.0, 6.0, 6.0, 8.0] [nan, nan, 1.0, 1.0, 1.0, 1.0, 0.0, 2.0] 20.如何一系列日期字符串转换为timeseries...如何改变导入csv文件的列值 改变列名‘medv’的值,当列值≤25时,赋值为‘Low’;列值>25时,赋值为‘High’. # 使用converters参数,改变medv列的值 df = pd.read_csv...如何从series中查找异常值并赋值 ser = pd.Series(np.logspace(-2, 2, 30)) # 小于low_per分位的数赋值为low,大于low_per分位的数赋值为high...[i1, :].copy(), df.iloc[i2, :].copy() # 通过iloc换行 df.iloc[i1, :], df.iloc[i2, :] = b, a return

9.9K53

jupyter notebook 之 pandas

显示索引&隐式索引 显示索引 .loc[] 只能使用关联型的索引取值,是一个闭区间,适合查找一个指定的值 隐式索引 .iloc[] 只能使用枚举型的索引取值,是一个半闭区间,适合查找一个范围的值 In...2 df.query("B == '男' | C>5 ") NameError: name 'df' is not defined 更改 找到要更改数据的index 根据索引找到该条数据 修改数据 修改过的这条数据...(res)赋值给本表格下的那条数据(df.loc[indexs]) In [236]: #update #把 set D='ABC' where A = '东北' ​ ​ indexs = df.query...绿帝 2 6 12 NaN 北丐 3 7 13 NaN 东邪 4 8 14 NaN 中李野 5 9 15 NaN 李晶 东北 男 1045 ABC In [252]: #删除 a = df.iloc...[270]: float In [275]: #NaN和任何的数值做计算,返回的都是NaN np.NaN - np.array([1,2,3,4,5]) Out[275]: array([nan, nan

3.2K20
领券