パンダは平均を取得し、重複を削除します
Nov 30 2020
私は次のデータフレームを持っています:
import pandas as pd
df = pd.read_csv(...)
A B C
x 3 .
x 5 .
x 1 .
y 6 .
y 4 .
z 1 .
z 1 .
z 2 .
z 4 .
誰かが私にこれを達成する方法を教えてもらえますか?
A B
x 3
y 5
z 2
1.列Cを削除します
。2。列Aに基づいて平均を計算します。3
。列Aに基づいて重複する行を削除します。
スパムをお詫びします。Pythonを使った初めての冒険です。他の人の回答を使おうとしましたが、何も機能していません。
回答
ombk Nov 30 2020 at 07:51
df = pd.DataFrame({"ali":["x","x","x","y","y","z",'z'],"mali":[1,10,2,4,6,6,7]})
#output
ali mali
0 x 1
1 x 10
2 x 2
3 y 4
4 y 6
5 z 6
6 z 7
df.groupby("ali")["mali"].mean()
ali
x 4.333333
y 5.000000
z 6.500000
Name: mali, dtype: float64
あなたのコードのために
df.groupby("A")["B"].mean()
1 frankr6591 Nov 30 2020 at 08:12
試してください:
import requests
url = 'https://gist.githubusercontent.com/AlbertKozera/6396b4333d1a9222193e11401069ed9a/raw/ab8733a2135bcf61999bbcac4f92e0de5fd56794/Pojazdy%2520elektryczne%2520w%2520USA.csv'
r = requests.get(url)
from io import StringIO
with StringIO(r.text) as sio:
df = pd.read_csv(sio)
print(df.head(3))
x =df.drop(['state', 'brand', 'model', 'year of production', 'type'], axis=1)
df2 = df.groupby('code').range.mean()
print("\n GROUPBY State x Range (mean)")
print(df2.head())