[当尝试使用熊猫绘制这些数据帧时出现KeyError

问题描述 投票:0回答:1

当我尝试为这组数据框绘制带有熊猫的反位移力时,我遇到了“位移”的关键错误。请帮助。

所使用的excel工作表的链接:https://www.dropbox.com/s/f8lnp973ojv3ish/neurospheress.xlsx?dl=0

我尝试清除列标题中的任何空格,但不起作用

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_excel('neurospheress.xlsx', sep='\s*,\s*', sheet_name = 'LS')

df1 = data.iloc[:80,:2]
df2 = data.iloc[:80,2:4]
df3 = data.iloc[:80,4:]
dfs = [df1,df2,df3]

for i,df in enumerate(dfs):
    plt.plot(df['Displacement'], df['Force'], linestyle='--', alpha= 0.8, label='df{}'.format(i))
plt.legend(loc='best')
plt.show()
excel pandas dataframe keyerror
1个回答
0
投票

下面的解决方案有效,它基本上为您的解决方案增加了两件事

a)从excel跳过第一行b)重命名df2和df3的列名

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_excel('neurospheress.xlsx', sep='\s*,\s*', sheet_name = 'LS',skiprows=1)

df1 = data.iloc[:80,:2]
df2 = data.iloc[:80,2:4]
df3 = data.iloc[:80,4:]
dfs = [df1,df2,df3]

df2.rename(columns={'Force.1':'Force','Displacement.1':'Displacement'},inplace=True)
df3.rename(columns={'Force.2':'Force','Displacement.2':'Displacement'},inplace=True)

print(data.columns)
print(df1.columns)
print(df2.columns)

for i,df in enumerate(dfs):
    plt.plot(df['Displacement'], df['Force'], linestyle='--', alpha= 0.8, label='df{}'.format(i))
plt.legend(loc='best')
plt.show()
© www.soinside.com 2019 - 2024. All rights reserved.