2015-05-05 3 views
24

के साथ डेटाफ्रेम, मैं नाएन से भरे एक पांडस डेटाफ्रेम बनाना चाहता हूं। अपना शोध के दौरान मैं an answer पाया:रिक्त पांडा बनाने के लिए सुरुचिपूर्ण तरीका NaN प्रकार के फ्लोट

import pandas as pd 

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

प्रकार "वस्तु" की Nans से भरा एक DataFrame में इस कोड का परिणाम है। इसलिए उन्हें बाद में interpolate() विधि के साथ उपयोग नहीं किया जा सकता है। इसलिए, मैं इस जटिल कोड (this answer से प्रेरित) के साथ DataFrame बनाया:

import pandas as pd 
import numpy as np 

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

df = pd.DataFrame(dummyarray) 

इस प्रकार का "फ्लोट" के NaN से भरा एक DataFrame में परिणाम है, तो यह interpolate() साथ बाद में इस्तेमाल किया जा सकता। क्या एक ही परिणाम बनाने के लिए एक और शानदार तरीका है?

+0

मुझे –

उत्तर

34

सीधे शब्दों में वांछित प्रतिनिधि एक अदिश पहले तर्क के रूप में, 0, math.inf की तरह, पास या, इस मामले में np.nan

>>> df = pd.DataFrame(np.nan, index=[0,1,2,3], columns=['A']) 
>>> df.dtypes 
A float64 
dtype: object 
+1

काम करने के लिए dummyarray = np.empty ((4,1)) डालना पड़ा pd.Series के लिए भी काम करता है। अति उत्कृष्ट! – Bill

10

आप जब DataFrame निर्माण सीधे dtype निर्दिष्ट कर सकते हैं:

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

dtype बलों पांडा को निर्दिष्ट करना, उस प्रकार के साथ DataFrame बनाने बल्कि यह अनुमान लगाने के लिए कोशिश कर रहा से कोशिश करने के लिए।

0

यह एक अच्छा दृष्टिकोण होगा: निर्माता तो आकार index और columns द्वारा निर्दिष्ट मान सरणी initializes?

pd.DataFrame(np.nan, index=[], columns=[]) 

किसी भी कारण है कि यह पुस्तकालय का हिस्सा नहीं है?

संबंधित मुद्दे