python – 从带有补充列的numpy数组初始化DataFrame
发布时间:2020-12-20 11:04:48 所属栏目:Python 来源:网络整理
导读:假设我有以下代码: import pandas as pdimport numpy as npA = ['red','blue']B = range(2)C = np.random.random((4,2,2))import pandas as pddf = pd.DataFrame({'Color':np.repeat(A,2),'Trial':np.tile(B,'V0':C[:,0],'V1':C[:,1],'V2':C[:,1,'V3':C[:,1
假设我有以下代码:
import pandas as pd import numpy as np A = ['red','blue'] B = range(2) C = np.random.random((4,2,2)) import pandas as pd df = pd.DataFrame({'Color':np.repeat(A,2),'Trial':np.tile(B,'V0':C[:,0],'V1':C[:,1],'V2':C[:,1,'V3':C[:,1]}) df 其中输出以下数据帧 > Color Trial V0 V1 V2 V3 > 0 red 0 0.726781 0.549726 0.053999 0.469885 > 1 red 1 0.609131 0.012120 0.587780 0.344290 > 2 blue 0 0.285235 0.491907 0.907871 0.549792 > 3 blue 1 0.646334 0.164288 0.029917 0.181290 如果数组的大小增长,我想避免输入numpy数组的每个条目,所以我想出了更大数组的以下解决方案 A = ['red',2)}) _df = pd.DataFrame(C.reshape(4,4)).add_prefix('V') df = pd.concat([df,_df],axis=1) df 哪个输出相同.我的问题是,是否有更好的方法来实现这一点,不涉及为我想要包含的每个数组创建一个数据帧,然后连接它们? 解决方法
Naw,好像你已经覆盖了你的基地….虽然这里有一些清理,使用DataFrame.assign-
pd.DataFrame(C.reshape(4,4)).add_prefix('V')).assign( Color=A * len(A),Trial=np.tile(B,len(A)) ) V0 V1 V2 V3 Color Trial 0 0.625676 0.201339 0.873423 0.227824 red 0 1 0.202515 0.515637 0.344809 0.958107 blue 1 2 0.040853 0.682505 0.679995 0.104927 red 0 3 0.548399 0.315772 0.081189 0.282158 blue 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |