Я получаю KeyError, когда пытаюсь отобразить эту группу данных с помощью Pandas - PullRequest
0 голосов
/ 15 октября 2019

Я получаю ключевую ошибку для «Смещения», когда пытаюсь построить «Сила против смещения» с пандами для этой группы данных. Пожалуйста, помогите.

Ссылка на используемый лист 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()

1 Ответ

0 голосов
/ 15 октября 2019

Приведенное ниже решение работает, оно в основном добавляет две вещи к вашему решению

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