यदि आप NaN
एस का उपयोग करते हैं तो चीजें पूरी तरह से काम करेगी। None
एक ही बात नहीं है। एक NaN
एक फ्लोट है।
एक उदाहरण के रूप:
import numpy as np
import matplotlib.pyplot as plt
plt.scatter([1, 2, 3], [1, 2, np.nan])
plt.show()
pandas
या numpy नकाबपोश सरणियों पर एक नज़र (और numpy.genfromtxt
अपने डेटा लोड करने के लिए) आप डेटा गुम को संभालने के लिए चाहते हैं, तो लो। मुखौटा सरणी numpy में बनाया गया है, लेकिन pandas
एक बेहद उपयोगी पुस्तकालय है, और बहुत अच्छी अनुपलब्ध मूल्य कार्यक्षमता है।
एक उदाहरण के रूप:
import matplotlib.pyplot as plt
import pandas
x = pandas.Series([1, 2, 3])
y = pandas.Series([1, 2, None])
plt.scatter(x, y)
plt.show()
pandas
NaN
रों उपयोग करता है, नकाबपोश डेटा का प्रतिनिधित्व करते हुए नकाबपोश सरणियों अलग मास्क सरणी का उपयोग करें। इसका मतलब यह है कि मास्क किए गए सरणी संभावित रूप से मूल डेटा को संरक्षित कर सकते हैं, जबकि अस्थायी रूप से इसे "गायब" या "खराब" के रूप में फ़्लैग करते हैं। हालांकि, वे अधिक मेमोरी का उपयोग करते हैं, और एक छुपा गेटचास है जिसे गायब डेटा का प्रतिनिधित्व करने के लिए NaN
एस का उपयोग करके टाला जा सकता है।
एक और उदाहरण के रूप में, दोनों नकाबपोश सरणियों और NaN
s का उपयोग करके, एक लाइन साजिश के साथ इस समय:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6 * np.pi, 300)
y = np.cos(x)
y1 = np.ma.masked_where(y > 0.7, y)
y2 = y.copy()
y2[y > 0.7] = np.nan
fig, axes = plt.subplots(nrows=3, sharex=True, sharey=True)
for ax, ydata in zip(axes, [y, y1, y2]):
ax.plot(x, ydata)
ax.axhline(0.7, color='red')
axes[0].set_title('Original')
axes[1].set_title('Masked Arrays')
axes[2].set_title("Using NaN's")
fig.tight_layout()
plt.show()
यह http://stackoverflow.com/questions/11620914/removing-nan-values-from-an-array में वर्णित के रूप NaN मूल्यों को दूर करने के लिए पर्याप्त हैं? –