seq*_*ard 7 python iteration row dataframe pandas
我有一个初学者的问题.我有一个迭代的数据帧,我想检查column2行中的NaN值是否存在,如果不是,则对该值执行操作NaN.我的DataFrame看起来像这样:
df:
Column1 Column2
0 a hey
1 b NaN
2 c up
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试的是:
for item, frame in df['Column2'].iteritems():
if frame.notnull() == True:
print 'frame'
Run Code Online (Sandbox Code Playgroud)
这背后的想法是我迭代第2列中的行和print框架中的每一行都有一个值(这是一个字符串).然而,我得到的是:
AttributeError Traceback (most recent call last)
<ipython-input-80-8b871a452417> in <module>()
1 for item, frame in df['Column2'].iteritems():
----> 2 if frame.notnull() == True:
3 print 'frame'
AttributeError: 'float' object has no attribute 'notnull'
Run Code Online (Sandbox Code Playgroud)
当我只运行我的代码的第一行时,我得到了
0
hey
1
nan
2
up
Run Code Online (Sandbox Code Playgroud)
这表明第一行输出中的浮点数是导致错误的原因.任何人都可以告诉我如何实现我的目标吗?
Ana*_*mar 11
正如你已经了解的那样,frame在
for item, frame in df['Column2'].iteritems():
Run Code Online (Sandbox Code Playgroud)
是row列中的 each ,其类型将是列中元素的类型(很可能不是Series或DataFrame)。因此,frame.notnull()在这行不通。
你应该试试——
for item, frame in df['Column2'].iteritems():
if pd.notnull(frame):
print frame
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18881 次 |
| 最近记录: |