问题描述
我有一长串熊猫数据框。我需要的是为数据帧 df1 获取 numpy 数组 X1,为数据帧 df2 获取 numpy 数组 X2,为数据帧 df3 获取 numpy 数组 X3,而不是一个接一个地进行。 即
X1=df1.values
X2=df2.values
X3=df3.values
想到使用 for 循环。任何人都可以帮助解决这个问题? 示例数据框:
import pandas as pd
df1=pd.DataFrame({'number':[1,2,3],'color':['Red','Green','Blue'],'symbol':['R','G','B']},columns=['number','color','symbol'])
df2=pd.DataFrame({'number':[4,5,6],'color':['Black','Yellow','Orange'],'symbol':['B','Y','O']},'symbol'])
df3=pd.DataFrame({'number':[7,8,9],'color':['Purple','White','Violet'],'symbol':['P','W','V']},'symbol'])
解决方法
检查这是否适合您:
import pandas as pd
import numpy as np
df1=pd.DataFrame({'number':[1,2,3],'color':['Red','Green','Blue'],'symbol':['R','G','B']},columns=['number','color','symbol'])
df2=pd.DataFrame({'number':[4,5,6],'color':['Black','Yellow','Orange'],'symbol':['B','Y','O']},'symbol'])
df3=pd.DataFrame({'number':[7,8,9],'color':['Purple','White','Violet'],'symbol':['P','W','V']},'symbol'])
for i in range(1,4):
globals()["X" + str(i)] = np.array(globals()["df" + str(i)])