小编Con*_*anG的帖子

检查熊猫数据框中的 None

我想找到在数据框中找到 None 的位置。

pd.DataFrame([None,np.nan]).isnull()
OUT: 
      0
0  True
1  True
Run Code Online (Sandbox Code Playgroud)

isnull() 找到 numpy Nan 和 None 值。

我只想要 None 值而不是 numpy Nan。有没有更简单的方法来做到这一点而不循环遍历数据框?

编辑:阅读评论后,我意识到在我的工作中的数据框中还包含字符串,因此 None 没有被强制为 numpy Nan。所以 Pisdom 给出的答案是有效的。

python numpy nan pandas

8
推荐指数
2
解决办法
3万
查看次数

切片和分配值为多索引的pandas唯一顺序索引的数据帧

我想选择并更改数据帧单元格的值.此数据帧使用了2个索引:'datetime'和'idx'.两者都包含唯一且顺序的标签.'datetime'索引具有datetime类型的datetime标签,'idx'具有整数值标签.

import numpy as np
import pandas as pd

dt = pd.date_range("2010-10-01 00:00:00", periods=5, freq='H')
d = {'datetime': dt, 'a': np.arange(len(dt))-1,'b':np.arange(len(dt))+1}
df = pd.DataFrame(data=d)
df.set_index(keys='datetime',inplace=True,drop=True)
df.sort_index(axis=0,level='datetime',ascending=False,inplace=True)

df.loc[:,'idx'] = np.arange(0, len(df),1)+5
df.set_index('idx',drop=True,inplace=True,append=True)
print(df)
Run Code Online (Sandbox Code Playgroud)

'这是数据帧:

                         a  b
datetime            idx      
2010-10-01 04:00:00 5    3  5
2010-10-01 03:00:00 6    2  4
2010-10-01 02:00:00 7    1  3
2010-10-01 01:00:00 8    0  2
2010-10-01 00:00:00 9   -1  1
Run Code Online (Sandbox Code Playgroud)

'说我想得到idx = 5的行.我怎么做?我可以用这个:

print(df.iloc[0])
Run Code Online (Sandbox Code Playgroud)

然后我会得到以下结果:

a    3
b    5
Name: (2010-10-01 04:00:00, 5), dtype: int32
Run Code Online (Sandbox Code Playgroud)

但我想通过指定idx值和列名'a'来访问和 …

python slice setvalue multi-index pandas

2
推荐指数
1
解决办法
266
查看次数

标签 统计

pandas ×2

python ×2

multi-index ×1

nan ×1

numpy ×1

setvalue ×1

slice ×1