サーチ…


備考

一般にGotchaは、文書化されていますが直感的ではない構文です。 Gotchasは、その直感的な性質のために通常期待されない出力を生成します。

Pandasのパッケージにはいくつかの問題があります。誰かを混乱させる可能性があり、気づいていない人もいれば、このドキュメントのページに表示されるものもあります。

np.nanで欠損値を検出する

ミスを検出したい場合は

df=pd.DataFrame({'col':[1,np.nan]})
df==np.nan

次の結果が得られます。

col
0    False
1    False

これは、何かに欠損値を比較するとFalseになるためです。

df=pd.DataFrame({'col':[1,np.nan]})   
df.isnull()

結果は:

col
0    False
1    True

整数とNA

Pandasはinteger型の属性の欠落をサポートしていません。たとえば、学年の欄にミスをした場合:

df= pd.read_csv("data.csv", dtype={'grade': int}) 
error: Integer column has NA values

この場合、整数の代わりにfloatを使うか、オブジェクトdtypeを設定するだけです。

自動データ整列(インデックス認識動作)

データフレームdfの列に一連の値[1,2]を追加する場合は、NaNを取得します。

import pandas as pd

series=pd.Series([1,2])
df=pd.DataFrame(index=[3,4])
df['col']=series
df

   col
3    NaN
4    NaN

新しい列を設定するとデータが自動的にインデックスで整列され、値1と2はデータフレームと同じようにインデックス0と1を取得し、3と4ではなく、

df=pd.DataFrame(index=[1,2])
df['col']=series
df

   col
1      2.0
2      NaN

インデックスを無視する場合は、最後に.valuesを設定する必要があります。

df['col']=series.values

   col
3    1
4    2


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow