楼主: ljh971022
1935 2

[问答] 请问如何给DataFrame中取值为none的变量赋值? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

大专生

96%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0005
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
224 点
帖子
14
精华
0
在线时间
111 小时
注册时间
2020-1-1
最后登录
2021-11-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
      笔者用Pandas建立了一个21行16413列的DataFrame,其中一些元素是none(没有值),现在想给这部分none的变量重新赋值为“NA”。但是下面的命令跑不了,想问下是哪里出了问题?似乎不能直接用=给取值为none的元素赋值?

for i in range(0,22):
    for j in range(0,16414):
        if df.iloc[i][j] is None==True:
            df.iloc[i][j]="NA"

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Dataframe Frame Fram none Data

沙发
yunnandlg 在职认证  学生认证  发表于 2020-1-25 01:29:00 |只看作者 |坛友微信交流群
Python中的None与 NULL(即空字符)的区别

1.首先要了解Pythond的对象的概念:
Python中,万物皆对象,所有的操作都是针对对象的,那什么是对象,5是一个int对象,‘oblong’是一个str对象,异常也是一个对象,抽象一点是,人,猫,够也是一个对象

那对于一个对象,它就有包括两方面的特征:
属性:去描述它的特征
方法: 它所具有的行为
所以,对象=属性+方法 (其实方法也是一种属性,一种区别于数据属性的可调用属性

把具有相同属性和方法的对象就可以归为一类,即Classl。类就好比是一张蓝图,使用一个类可以创建多个对象实例
即人,猫,狗都属于哺乳动物类

类是对象的抽象化,对象是类的实例化。类不代表具体的事物,而对象表示具体的事物

类也是有属性和方法的。

2.数据类型也是对象
实际上Pyhton在面向对象程序设计时,才会有对象这个概念,而在面向过程型程序设计时,我们讨论最多的就是数据类型。

Python提供的基本数据类型主要有:布尔类型、整型、浮点型、字符串、列表、元组、集合、字典等

数据类型也可以看做是一个”类“
每一种数据类型都是一个对象,也具有其自己的属性和方法

3.Python中的None与 NULL(即空字符)的区别
了解以上概念,就不难理解None 与null的区别
(1)是不同的一种数据类型

>>>type(None)
<class 'NoneType'>

表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

>>>type('')
<class ''str'>

你可以将None赋值给任何变量,也可以将任何变量赋值给一个None值得对象

(2)判断的时候 均是False

>>> ff=None
>>> if ff:
    print('ff is define')

执行结果:无打印!

(3)属性不同

使用dir()函数返回参数的属性、方法列表。如果参数包含方法dir(),该方法将被调用。如果参数不包含dir(),该方法将最大限度地收集参数信息。

dir(None)
['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']


dir('')
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

总结:解释了None与 NULL(即空字符)的区别,以及Python中对象,类的概念,以及type(),dir()函数的使用。
已有 1 人评分经验 收起 理由
cheetahfly + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

使用道具

藤椅
yunnandlg 在职认证  学生认证  发表于 2020-1-25 01:32:01 |只看作者 |坛友微信交流群
Python中对变量是否为None的判断

第一种:if X is None;

第二种:if not X;
当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这些时,not X为真,即无法分辨出他们之间的不同。
已有 1 人评分经验 收起 理由
cheetahfly + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 03:54