使用 panda 从 Excel 导入但缺少索引 header
Import from Excel with panda but missing the index header
我想使用来自 xlsx 的数据:
Fe Mg Al Si P S K Ca Ti
5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90
5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64
3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81
...............
但是当我导入时:
file = 'test.xlsx'
xl = pd.ExcelFile(file)
df1 = xl.parse('Sheet1')
然后尝试为 0. 列命名,但我只能将 Fe 重命名为 Fabric:
new_columns = df1.columns.values;
new_columns[0] = 'Fabric';
df1.columns = new_columns
这是我得到的:
Fabric Mg Al Si P S K Ca Ti
5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90
5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64
3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81
而不是这个 [ :) ] :
Fabric Fe Mg Al Si P S K Ca Ti
5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90
5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64
3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81
我想我在这里遗漏了一些基本的东西,但是当我尝试搜索这个时我没有运气,所以如果你对此有想法,请帮助:)。谢谢 !
Fabric
看起来像是数据框的索引。您最好重置它,然后重命名您的列。
df1 = df1.reset_index()
df1.columns =['Fabric'] + df1.columns[1:].tolist()
如果我提前不知道列的名称或数量(只是第一个未命名的列应该是“datetime”),我也会遇到类似的情况。
在那种情况下,我读取了日期,并使用 .rename() 将 Unnamed: 0
重命名为它应该的名字是:
df1 = pd.read_csv(filepath)
df1.rename(columns={'Unnamed: 0':'datetime'}, inplace=True)
df1.set_index('datetime', inplace=True)
我想使用来自 xlsx 的数据:
Fe Mg Al Si P S K Ca Ti
5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90
5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64
3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81
...............
但是当我导入时:
file = 'test.xlsx'
xl = pd.ExcelFile(file)
df1 = xl.parse('Sheet1')
然后尝试为 0. 列命名,但我只能将 Fe 重命名为 Fabric:
new_columns = df1.columns.values;
new_columns[0] = 'Fabric';
df1.columns = new_columns
这是我得到的:
Fabric Mg Al Si P S K Ca Ti
5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90
5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64
3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81
而不是这个 [ :) ] :
Fabric Fe Mg Al Si P S K Ca Ti
5 0.80 2.09 3.49 7.05 0.19 0.07 0.13 84.28 1.90
5 0.75 2.69 3.91 12.42 0.13 0.09 0.18 78.18 1.64
3 0.87 2.66 3.71 7.64 0.17 0.05 0.12 82.97 1.81
我想我在这里遗漏了一些基本的东西,但是当我尝试搜索这个时我没有运气,所以如果你对此有想法,请帮助:)。谢谢 !
Fabric
看起来像是数据框的索引。您最好重置它,然后重命名您的列。
df1 = df1.reset_index()
df1.columns =['Fabric'] + df1.columns[1:].tolist()
如果我提前不知道列的名称或数量(只是第一个未命名的列应该是“datetime”),我也会遇到类似的情况。
在那种情况下,我读取了日期,并使用 .rename() 将 Unnamed: 0
重命名为它应该的名字是:
df1 = pd.read_csv(filepath)
df1.rename(columns={'Unnamed: 0':'datetime'}, inplace=True)
df1.set_index('datetime', inplace=True)