Python 作为数据帧管理元素的Numpy数组
我正在考虑一个熊猫数据帧。我想找到一种有效的方法,在每次列的名称包含数字4时创建第二个数据帧,因此列元素是数组Python 作为数据帧管理元素的Numpy数组,python,arrays,pandas,numpy,multiple-columns,Python,Arrays,Pandas,Numpy,Multiple Columns,我正在考虑一个熊猫数据帧。我想找到一种有效的方法,在每次列的名称包含数字4时创建第二个数据帧,因此列元素是数组 将熊猫作为pd导入 数据={“A4aa”:[[1,2,3,4],“B”:[12,12],“B4bb”:[[5,6,7,8]} 数据1={“A0aa”:[1],“A1aa”:[2],“A2aa”:[3],“A3aa”:[4],“B”:[12,],“B0bb”:[5],“B1bb”:[6],“B2bb”:[7],“B3bb”:[8]} df=pd.DataFrame(数据) df1=pd.
将熊猫作为pd导入
数据={“A4aa”:[[1,2,3,4],“B”:[12,12],“B4bb”:[[5,6,7,8]}
数据1={“A0aa”:[1],“A1aa”:[2],“A2aa”:[3],“A3aa”:[4],“B”:[12,],“B0bb”:[5],“B1bb”:[6],“B2bb”:[7],“B3bb”:[8]}
df=pd.DataFrame(数据)
df1=pd.DataFrame(数据1)
A4aa B B4bb
0 [1, 2, 3, 4] 12 [5, 6, 7, 8]
data1={“A0”:[1],“A1”:[2],“A2”:[3],“A3”:[4],“B”:[12],“B0”:[5],“B1”:[6],“B2”:[7],“B3”:[8]}
df1=pd.DataFrame(数据1)
A0aa A1aa A2aa A3aa B B0bb B1bb B2bb B3bb
0 1 2 3 4 12 5 6 7 8
很抱歉,我将问题简化得太多,解决方案没有重叠,我正在尝试调整它。如果碰巧我能用这个新的复杂问题发布一个有效的解决方案,那将是perfect@StefanoBarone试试看,谢谢你,非常优雅一点,但或多或少是我从你的第一个答案中得到的相同解决方案。
def f(df):
def g(c):
pre, *suf = c.split('4')
if suf:
return pd.DataFrame(df[c].tolist()).add_prefix(pre).add_suffix(''.join(suf))
else:
return df[c]
return pd.concat(map(g, df), axis=1)
f(df)
A0aa A1aa A2aa A3aa B B0bb B1bb B2bb B3bb
0 1 2 3 4 12 5 6 7 8