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
'programing' 카테고리의 다른 글
삼성 갤럭시S2에 반응 없는 웹사이트 (0) | 2023.10.20 |
---|---|
Spark DataFrame을 피벗하는 방법은? (0) | 2023.10.20 |
안드로이드는 거의 실시간 푸시 알림을 지원합니까? (0) | 2023.10.20 |
총 열거 항목 수 가져오기 (0) | 2023.10.20 |
"이 워크시트"와 동등한 건가요? (0) | 2023.10.20 |