मेरे पास छवियों की एक श्रृंखला है, जो एक सीवीएस फ़ाइल में एक स्ट्रिंग प्रति छवि के रूप में संग्रहीत हैं, स्ट्रिंग 9216 स्पेस से अलग पूर्णांक की एक सूची है। मेरे पास एक ऐसा फ़ंक्शन है जो इसे 96x96 numpy सरणी में परिवर्तित करता है।मैं एक पांडा डेटाफ्रेम में ऑब्जेक्ट के रूप में एक numpy सरणी कैसे स्टोर करूं?
मैं इस numpy सरणी को स्ट्रिंग के बजाय अपने डेटाफ्रेम के कॉलम में स्टोर करना चाहता हूं।
हालांकि जब मैं कॉलम से आइटम पुनर्प्राप्त करता हूं तो यह अब एक numpy सरणी के रूप में उपयोग करने योग्य नहीं है।
डेटा से प्रशिक्षण cvs फ़ाइल में अंतिम कॉलम यहां से डाउलोड किया जा सकता है।
https://www.kaggle.com/c/facial-keypoints-detection/data
import pandas as pd
import numpy as np
df_train = pandas.read_csv("training.csv")
def convert_to_np_arr(im_as_str):
im = [int(i) for i in im_as_str.split()]
im = np.asarray(im)
im = im.reshape((96, 96))
return im
df_train['Im_as_np'] = df_train.Image.apply(convert_to_np_arr)
im = df_train.Im_as_np[0]
plt.imshow(im, cmap = cm.Greys_r)
plt.show()
, तो इसके बजाय समारोह का उपयोग करने और लागू करने और छवि भंडारण की, मैं अपेक्षा के अनुरूप
import pandas as pd
import numpy as np
df_train = pandas.read_csv("training.csv")
im = df_train.Image[0]
im = [int(i) for i in im.split()]
im = np.asarray(im)
im = im.reshape((96, 96))
plt.imshow(im, cmap = cm.Greys_r)
plt.show()