我在给熊猫命名数据时遇到了问题。是否有任何方法可以自动更改命名和索引,而不是手动逐行写入?
xl=pd.ExcelFile('Movement of BSE RIK.xlsx',header=0,dtype={'Open Price
(Rs.)':np.float64})
p=xl.sheet_names
df= xl.parse('D-0')
df1= xl.parse('D-1')
df2= xl.parse('D-2')
df3= xl.parse('D-3')
df4= xl.parse('D-4')
df5= xl.parse('D-5')
df6= xl.parse('D-6')
df7= xl.parse('D-7')
df8= xl.parse('D-8')
df9= xl.parse('D-9')
df10= xl.parse('D-10')
df11= xl.parse('D-11')
df12= xl.parse('D-12')
df13= xl.parse('D-13')
df14= xl.parse('D-14')
df.set_index('Security Name',inplace=True)
df1.set_index('Security Name',inplace=True)
df2.set_index('Security Name',inplace=True)
df3.set_index('Security Name',inplace=True)
df4.set_index('Security Name',inplace=True)
df5.set_index('Security Name',inplace=True)
df6.set_index('Security Name',inplace=True)
df7.set_index('Security Name',inplace=True)
df8.set_index('Security Name',inplace=True)
df9.set_index('Security Name',inplace=True)
df10.set_index('Security Name',inplace=True)
df11.set_index('Security Name',inplace=True)
df12.set_index('Security Name',inplace=True)
df13.set_index('Security Name',inplace=True)
df14.set_index('Security Name',inplace=True) 这段代码非常长,我必须使用这些数据names.in来进一步工作,我希望尽量减少行数。
发布于 2017-06-24 08:36:27
我认为您可以使用参数sheetname=None创建dict of DataFrames
dfs = pd.read_excel('Movement of BSE RIK.xlsx',
header=0,
dtype={'Open Price (Rs.)':np.float64},
sheetname=None,
index_col='Security Name')然后,您可以通过以下方式选择DataFrames:
print (dfs['D-0'])
print (type(dfs['D-0']))
<class 'pandas.core.frame.DataFrame'>文件样品
dfs = pd.read_excel('Movement of BSE RIK.xlsx',
header=0,
dtype={'Open Price (Rs.)':np.float64},
sheetname=None,
index_col='Security Name')
print (dfs)
print (dfs['D-0'])
a b Open Price (Rs.)
Security Name
1 r u 3.0
4 t j 5.0发布于 2017-06-24 08:37:26
您可以生成一个DataFrames字典:
dfs = {n:xl.parse(n).set_index('Security Name') for n in xl.sheet_names}https://stackoverflow.com/questions/44734499
复制相似问题