Giả sử rằng tôi có một dataframe với các giá trị sau:Pandas dataframe: Đoàn tự do hai cột và sau đó trung bình trên một cột
df:
col1 col2 value
1 2 3
1 2 1
2 3 1
Tôi muốn đầu tiên groupby dataframe của tôi dựa trên hai cột đầu tiên (col1 và col2) và sau đó trung bình trên các giá trị của cột thirs (giá trị). Vì vậy, các đầu ra mong muốn sẽ trông như thế này:
col1 col2 avg-value
1 2 2
2 3 1
Tôi đang sử dụng đoạn mã sau:
columns = ['col1','col2','avg']
df = pd.DataFrame(columns=columns)
df.loc[0] = [1,2,3]
df.loc[1] = [1,3,3]
print(df[['col1','col2','avg']].groupby('col1','col2').mean())
mà được các lỗi sau:
ValueError: No axis named col2 for object type <class 'pandas.core.frame.DataFrame'>
Bất kỳ trợ giúp sẽ được nhiều đánh giá cao.
Điều này khác với câu trả lời của tôi như thế nào? – EdChum
Nó không phải, nhưng tôi chỉ nhìn thấy câu trả lời của bạn sau khi tôi nhấn 'post' ... – jkokorian
Đừng lo lắng, nhưng không nên đăng câu trả lời trùng lặp trừ khi có sự khác biệt thực sự – EdChum