【问题标题】:Pandas data layout issue熊猫数据布局问题
【发布时间】:2018-08-17 14:13:51
【问题描述】:

尝试将图像像素数据放入 pandas 数据帧以调整 PCA。我想我让它工作了,但由于某种原因,布局关闭了。当我运行以下代码时,我得到了这个结果

#read in image
img = cv2.imread('/Volumes/EXTERNAL/Stitched-Photos-for-Chris/p7_0015_20161005-949am-75m-pass-1.jpg.png',1)
row,col = img.shape[:2]
#print(row , col)

#get a unique pixel ID for each pixel

pixel = ['pixel-' + str(i) for i in range(0,row*col)]
bBand = ['bBand']
gBand = ['gBand']
rBand = ['rBand']
data = pd.DataFrame(columns=[bBand,gBand,rBand],index = pixel)

#populate data for each band
b,g,r = cv2.split(img)
data.loc[pixel,'bBand'] = b.flat[:]
data.loc[pixel,'gBand'] = g.flat[:]
data.loc[pixel,'rBand'] = r.flat[:]

print(data.head())

但是,当我运行教程代码时,我会以此为基础,得到正确的格式:

genes = ['gene' + str(i) for i in range(1,101)]

wt = ['wt' + str(i) for i in range(1,6)]
ko = ['ko' + str(i) for i in range(1,6)]

data = pd.DataFrame(columns=[*wt,*ko],index = genes)

#create random data
for gene in genes:
    data.loc[gene,'wt1':'wt5'] = np.random.poisson(lam=rd.randrange(10,10000),size=5)
    data.loc[gene,'ko1':'ko5'] = np.random.poisson(lam=rd.randrange(10,10000),size=5)

print(data.head())

试图找出列中额外的 gBand 和 rBand 是我在某处遇到的问题或错误。谢谢你的帮助。

【问题讨论】:

    标签: python pandas numpy opencv pca


    【解决方案1】:

    您似乎通过将它们设为列表来错误地创建列

    尝试:

    pixel = ['pixel-' + str(i) for i in range(0,row*col)]
    
    data = pd.DataFrame(columns=['bBand','gBand','rBand'],index = pixel)
    
    #populate data for each band
    b,g,r = cv2.split(img)
    data.loc[pixel,'bBand'] = b.flat[:]
    data.loc[pixel,'gBand'] = g.flat[:]
    data.loc[pixel,'rBand'] = r.flat[:]
    
    print(data.head())
    

    【讨论】:

      猜你喜欢
      • 2020-04-21
      • 2013-02-04
      • 1970-01-01
      • 2020-02-25
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多