Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 当我试图用熊猫绘制这组数据帧时,出现了一个关键错误_Excel_Pandas_Dataframe_Keyerror - Fatal编程技术网

Excel 当我试图用熊猫绘制这组数据帧时,出现了一个关键错误

Excel 当我试图用熊猫绘制这组数据帧时,出现了一个关键错误,excel,pandas,dataframe,keyerror,Excel,Pandas,Dataframe,Keyerror,当我试图用pandas为这组数据帧绘制力与位移的关系时,我得到了“位移”的关键误差。请帮忙 指向正在使用的excel工作表的链接: 我试图清除列标题中的任何空格,但无效 将numpy导入为np 作为pd进口熊猫 将matplotlib.pyplot作为plt导入 data=pd.read\u excel('neurospheres.xlsx',sep='\s*,\s*',sheet\u name='LS') df1=data.iloc[:80,:2] df2=data.iloc[:80,2:4

当我试图用pandas为这组数据帧绘制力与位移的关系时,我得到了“位移”的关键误差。请帮忙

指向正在使用的excel工作表的链接:

我试图清除列标题中的任何空格,但无效

将numpy导入为np
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
data=pd.read\u excel('neurospheres.xlsx',sep='\s*,\s*',sheet\u name='LS')
df1=data.iloc[:80,:2]
df2=data.iloc[:80,2:4]
df3=data.iloc[:80,4:]
dfs=[df1、df2、df3]
对于i,枚举中的df(dfs):
plt.plt(df['Displacement'],df['Force'],linestyle='--',alpha=0.8,label='df{}'。格式(i))
plt.图例(loc='best')
plt.show()

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

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()