回答:
その意味は:
'O'     (Python) objectsソース。
最初の文字はデータの種類を指定し、残りの文字はアイテムごとのバイト数を指定します。ただし、Unicodeは文字数として解釈されます。アイテムのサイズは既存のタイプに対応している必要があります。一致していない場合、エラーが発生します。サポートされている種類は既存の種類に対するものです。そうでない場合、エラーが発生します。サポートされている種類は次のとおりです。
'b'       boolean
'i'       (signed) integer
'u'       unsigned integer
'f'       floating-point
'c'       complex-floating point
'O'       (Python) objects
'S', 'a'  (byte-)string
'U'       Unicode
'V'       raw data (void)
チェックが必要な場合は、別の回答が役立ちますtype。
dtype('O')データフレーム内を見ると、これはパンダの文字列を意味します。なにdtype?
pandasまたはnumpyに属しているもの、またはその両方、あるいはその他の何か?パンダコードを調べると:
df = pd.DataFrame({'float': [1.0],
                    'int': [1],
                    'datetime': [pd.Timestamp('20180310')],
                    'string': ['foo']})
print(df)
print(df['float'].dtype,df['int'].dtype,df['datetime'].dtype,df['string'].dtype)
df['string'].dtype
次のように出力されます:
   float  int   datetime string    
0    1.0    1 2018-03-10    foo
---
float64 int64 datetime64[ns] object
---
dtype('O')
あなたは最後をdtype('O')Pythonのタイプ文字列であるパンダまたはパンダオブジェクトとして解釈することができ、これはNumpy string_またはunicode_タイプに対応します。
Pandas dtype    Python type     NumPy type          Usage
object          str             string_, unicode_   Text
Don Quixoteがお尻にあるように、PandasもNumpyにあり、Numpyはシステムの基本的なアーキテクチャを理解しており、そのためにクラスnumpy.dtypeを使用しています。
データ型オブジェクトは、次のようなnumpy.dtypeデータ型をより正確に理解するクラスのインスタンスです。
この質問のコンテキストではdtype、pandsとnumpyの両方に属し、特にdtype('O')文字列を期待しています。
これは説明付きのテスト用のコードです:データセットを辞書として持っている場合
import pandas as pd
import numpy as np
from pandas import Timestamp
data={'id': {0: 1, 1: 2, 2: 3, 3: 4, 4: 5}, 'date': {0: Timestamp('2018-12-12 00:00:00'), 1: Timestamp('2018-12-12 00:00:00'), 2: Timestamp('2018-12-12 00:00:00'), 3: Timestamp('2018-12-12 00:00:00'), 4: Timestamp('2018-12-12 00:00:00')}, 'role': {0: 'Support', 1: 'Marketing', 2: 'Business Development', 3: 'Sales', 4: 'Engineering'}, 'num': {0: 123, 1: 234, 2: 345, 3: 456, 4: 567}, 'fnum': {0: 3.14, 1: 2.14, 2: -0.14, 3: 41.3, 4: 3.14}}
df = pd.DataFrame.from_dict(data) #now we have a dataframe
print(df)
print(df.dtypes)
最後の行でデータフレームを調べ、出力を確認します。
   id       date                  role  num   fnum
0   1 2018-12-12               Support  123   3.14
1   2 2018-12-12             Marketing  234   2.14
2   3 2018-12-12  Business Development  345  -0.14
3   4 2018-12-12                 Sales  456  41.30
4   5 2018-12-12           Engineering  567   3.14
id               int64
date    datetime64[ns]
role            object
num              int64
fnum           float64
dtype: object
すべての種類の dtypes
df.iloc[1,:] = np.nan
df.iloc[2,:] = None
しかし、我々は、設定しようとnp.nanか、Noneこれは元の列DTYPEには影響しません。出力は次のようになります。
print(df)
print(df.dtypes)
    id       date         role    num   fnum
0  1.0 2018-12-12      Support  123.0   3.14
1  NaN        NaT          NaN    NaN    NaN
2  NaN        NaT         None    NaN    NaN
3  4.0 2018-12-12        Sales  456.0  41.30
4  5.0 2018-12-12  Engineering  567.0   3.14
id             float64
date    datetime64[ns]
role            object
num            float64
fnum           float64
dtype: object
だから、np.nanまたはNone列を変更しませんdtype我々はすべての列の行を設定していない限り、np.nanまたはNone。その場合、列はfloat64またはになりobjectます。
単一の行を設定することもできます:
df.iloc[3,:] = 0 # will convert datetime to object only
df.iloc[4,:] = '' # will convert all columns to object
ここで、文字列を非文字列の列に設定すると、文字列またはオブジェクトになりますdtype。
「O」はオブジェクトを表します。
#Loading a csv file as a dataframe
import pandas as pd 
train_df = pd.read_csv('train.csv')
col_name = 'Name of Employee'
#Checking the datatype of column name
train_df[col_name].dtype
#Instead try printing the same thing
print train_df[col_name].dtype最初の行は次を返します: dtype('O')
printステートメントを含む行は次を返します。 object
pandasobject列に混合値(文字列、数値、nan)が含まれている場合、自由にdtypeを使用します。