source

데이터 프레임의 모든 열에 대해 dtype을 확인하는 방법은 무엇입니까?

factcode 2023. 5. 29. 11:12
반응형

데이터 프레임의 모든 열에 대해 dtype을 확인하는 방법은 무엇입니까?

는 것 같습니다.dtype을 위해서만 일하는pandas.DataFrame.Series,그렇죠?모든 열의 데이터 유형을 한 번에 표시하는 기능이 있습니까?

단수형dtype는 단일 열에 대한 데이터 유형을 확인하는 데 사용됩니다.그리고 복수형은dtypes모든 열에 대한 데이터 형식을 반환하는 데이터 프레임용입니다.기본적으로:

단일 열의 경우:

dataframe.column.dtype

모든 열의 경우:

dataframe.dtypes

:

import pandas as pd
df = pd.DataFrame({'A': [1,2,3], 'B': [True, False, False], 'C': ['a', 'b', 'c']})

df.A.dtype
# dtype('int64')
df.B.dtype
# dtype('bool')
df.C.dtype
# dtype('O')

df.dtypes
#A     int64
#B      bool
#C    object
#dtype: object

df가 판다 DataFrame이라고 가정하면 null이 아닌 값의 수와 모든 열의 데이터 유형을 한 번에 가져오려면 다음을 사용합니다.

df.info()

한 걸음 더 나아가서, 저는 여러분이 실제로 이 d타입들로 무언가를 하고 싶어한다고 생각합니다. df.dtypes.to_dict()도움이 됩니다.

my_type = 'float64'

dtypes = dataframe.dtypes.to_dict()

for col_name, typ in dtypes.items():
    if (typ != my_type): #<---
        raise ValueError(f"Yikes - `dataframe['{col_name}'].dtype == {typ}` not {my_type}")

여러분은 판다가 NumPy 클래스와 사용자가 제공한 문자열을 비교하는 것을 정말 잘했다는 것을 알게 될 것입니다.예를 들어, 다음과 같은 것들도.'double' == dataframe['col_name'].dtype의 경우 성공할 것입니다..dtype==np.float64.

많은 열이 있고 열이 있는 경우df.info()또는df.dtypes그것은 당신에게 전체적인 열의 통계를 제공할 수도 있고 또는 단지 위와 아래의 일부의 열을 제공할 수도 있습니다.

<class 'pandas.core.frame.DataFrame'>

Int64Index: 4387 entries, 1 to 4387

Columns: 119 entries, 
CoulmnA to ColumnZ

dtypes: datetime64[ns(24), 
float64(54), object(41)

memory usage: 4.0+ MB

24개의 열이 날짜 시간이고 54개는 float64이고 41개는 객체라는 것을 보여줍니다.

따라서 명령 하나에 각 열의 데이터 유형을 입력하려면 다음을 수행합니다.

dict(df.dtypes)

(이 답변은 OP의 질문에 직접적으로 대답하지는 않지만 유용할 수 있습니다.)

지금까지 응답은 인쇄된 보고서 또는 문자열 값에 의존하므로 미래에 대한 대응이 불가능할 수 있습니다.

Panda는 유형 검사를 위한 프로그래밍 방식을 제공합니다.

import pandas as pd
from pandas.api.types import is_object_dtype, is_numeric_dtype, is_bool_dtype
df = pd.DataFrame({'A': [1,2,3], 'B': [True, False, False], 'C': ['a', 'b', 'c']})

is_numeric_dtype(df['A'])
>>> True

dataframe_name.column_name을 사용하여 간접적으로 볼 수도 있습니다. dataframe은 열 값을 표시하고 dtype도 함께 표시합니다.

예:

import pandas as pd
data = {"strings" : ["a","b","c"], "ints" : [1,2,3]}
df = pd.DataFrame(data)
print(df.strings)
print("------------")
print(df.ints)

출력됩니다.

0    a
1    b
2    c
Name: strings, dtype: object
------------
0    1
1    2
2    3
Name: ints, dtype: int64

언급URL : https://stackoverflow.com/questions/40353079/pandas-how-to-check-dtype-for-all-columns-in-a-dataframe

반응형