teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

実行例の追加

2021/05/10 13:09

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -1,6 +1,25 @@
1
1
  pandasのデータフレームはindexとcolumnsとvaluesで成り立っています。
2
2
  valuesはnumpyのndarrayです。
3
3
  pandasのデータフレームの生成時や加工時に値がない要素はNaNと表示されていますが、これは常に'numpy.float64のNaNです。
4
+ これは以下を見れば分かります。
4
5
 
6
+ ```python
7
+ >>> import pandas as pd
8
+ >>> df = pd.DataFrame([[0]])
9
+ >>> print(df)
10
+ 0
11
+ 0 0
12
+ >>> type(df.values)
13
+ <class 'numpy.ndarray'>
14
+ >>> df.iloc[0,0] = None
15
+ >>> print(df)
16
+ 0
17
+ 0 NaN
18
+ >>> print(df.iloc[0,0])
19
+ nan
20
+ >>> print(type(df.iloc[0,0]))
21
+ <class 'numpy.float64'>
22
+ ```
23
+
5
24
  なぜisnull()が使えないのか
6
25
  isnullはpandasのDataFrameのメソッドです。valuesの要素であるnumpy.float64("NaN")はisnullメソッドを持ちません。