我想找到在数据框中找到 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 给出的答案是有效的。
我想选择并更改数据帧单元格的值.此数据帧使用了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'来访问和 …