데이터 프레임의 모든 열에 대해 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
'source' 카테고리의 다른 글
AssemblyVersion, AssemblyFileVersion 및 AssemblyInformationVersion의 차이점은 무엇입니까? (0) | 2023.05.29 |
---|---|
Bash에서 첫 번째 줄 이후 루프가 읽기를 중지하는 동안 (0) | 2023.05.29 |
파이썬이 정수 나눗셈을 음의 무한대로 반올림하기로 선택한 수학적 이유는 무엇입니까? (0) | 2023.05.29 |
vb.net 의 목록.각자를 위해 - 나를 혼란스럽게 합니다. (0) | 2023.05.29 |
Python map 개체를 구독할 수 없습니다. (0) | 2023.05.29 |