programing

NaN 타입 플로트로 빈 팬더 DataFrame을 만드는 우아한 방법

cafebook 2023. 10. 20. 14:21
반응형

NaN 타입 플로트로 빈 팬더 DataFrame을 만드는 우아한 방법

NaN으로 채워진 판다 데이터 프레임을 만들고 싶습니다.조사를 하는 동안 다음과 같은 답을 찾았습니다.

import pandas as pd

df = pd.DataFrame(index=range(0,4),columns=['A'])

이 코드는 "객체" 유형의 NaN으로 채워진 DataFrame을 생성합니다.따라서 나중에 예를 들어 사용할 수 없습니다.interpolate()방법.그래서 저는 다음과 같은 복잡한 코드( 답변에서 영감을 얻은)로 DataFrame을 만들었습니다.

import pandas as pd
import numpy as np

dummyarray = np.empty((4,1))
dummyarray[:] = np.nan

df = pd.DataFrame(dummyarray)

따라서 "float" 유형의 NaN으로 채워진 데이터 프레임이 생성되므로 나중에 다음과 함께 사용할 수 있습니다.interpolate(). 동일한 결과를 생성할 수 있는 보다 우아한 방법이 있습니까?

원하는 값을 첫번째 인수로 전달하면 됩니다.0,math.inf아니면, 여기,np.nan. 그런 다음 생성자가 값 배열을 초기화하고 인수에서 지정한 크기로 채웁니다.index그리고.columns:

>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame(np.nan, index=[0, 1, 2, 3], columns=['A', 'B'])

>>> df
    A   B
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN

>>> df.dtypes
A    float64
B    float64
dtype: object

DataFrame을 구성할 때 dtype을 직접 지정할 수 있습니다.

>>> df = pd.DataFrame(index=range(0,4),columns=['A'], dtype='float')
>>> df.dtypes
A    float64
dtype: object

dtype을 지정하면 Panda는 해당 유형을 사용하여 DataFrame을 생성하는 것을 추론하기 보다는 시도해야 합니다.

이것이 도움이 되기를 바랍니다!

 pd.DataFrame(np.nan, index = np.arange(<num_rows>), columns = ['A'])

다음 코드 라인을 시도해 볼 수 있습니다.

pdDataFrame = pd.DataFrame([np.nan] * 7)

이렇게 하면 NaN 형태의 플로트가 있는 크기 7의 팬더 데이터 프레임이 생성됩니다.

인쇄하면pdDataFrame출력은 다음과 같습니다.

     0
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN
5   NaN
6   NaN

출력 또한 다음에 대한pdDataFrame.dtypes다음과 같습니다.

0    float64
dtype: object

여러 열에 대해 다음 작업을 수행할 수 있습니다.

df = pd.DataFrame(np.zeros([nrow, ncol])*np.nan)

빈 사전을 반복해서 전달할 수도 있습니다.

df= pd.DataFrame([{}]*4, columns=['A'])

언급URL : https://stackoverflow.com/questions/30053329/elegant-way-to-create-empty-pandas-dataframe-with-nan-of-type-float

반응형