Попробуй это.Приведенный ниже код используется после использования groupby.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df_test = pd.DataFrame({'A': ['car', 'car', 'car', 'car', 'car', 'car', 'plane', 'plane', 'plane', 'plane', 'plane', 'plane',],
'B': ['one','one', 'two', 'two', 'three','three', 'one', 'one', 'two','two', 'three','three',],
'Input1': np.random.randn(12),
'Output1': np.random.randn(12)})
print(df_test)
grouped = df_test.groupby(['A', 'B'])
grouped=grouped.first().reset_index()
grouped=grouped.loc[grouped['A']=='car']
fig, ax = plt.subplots()
grouped.plot(x='Input1', y='Output1', ax=ax, legend=False)
plt.show()
Если вы хотите отфильтровать только те значения, которые равны 'car'
в столбце A, попробуйте следующий код:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df_test = pd.DataFrame({'A': ['car', 'car', 'car', 'car', 'car', 'car', 'plane', 'plane', 'plane', 'plane', 'plane', 'plane',],
'B': ['one','one', 'two', 'two', 'three','three', 'one', 'one', 'two','two', 'three','three',],
'Input1': np.random.randn(12),
'Output1': np.random.randn(12)})
print(df_test)
grouped=df_test.loc[df_test['A']=='car']
fig, ax = plt.subplots()
grouped.plot(x='Input1', y='Output1', ax=ax, legend=False)
plt.show()
Обновление: попробуйте следующий код тоже.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df_test = pd.DataFrame({'A': ['car', 'car', 'car', 'car', 'car', 'car', 'plane', 'plane', 'plane', 'plane', 'plane', 'plane',],
'B': ['one','one', 'two', 'two', 'three','three', 'one', 'one', 'two','two', 'three','three',],
'Input1': np.random.randn(12),
'Output1': np.random.randn(12)})
print(df_test)
grouped=df_test.loc[df_test['A']=='car']
grouped = grouped.groupby(['A','B'])
fig, ax = plt.subplots()
grouped.plot(x='Input1', y='Output1', ax=ax, legend=True)
plt.show()