私はそのようなデータフレームを持っています
mode travel time
transit_walk 284.0
transit_walk 284.0
pt 270.0
transit_walk 346.0
walk 455.0
「モード」でグループ化し、すべての移動時間の合計を取得したいと思います。だから私の欲望の結果は次のようになります:
mode total travel time
transit_ walk 1200000000
pt 30000000
walk 88888888
私は次のようなコードを書きました
df.groupby('mode')['travel time'].sum()
ただし、次のような結果が得られます。
mode
pt 270.01488.01518.01788.01300.01589.01021.01684....
transit_walk 284.0284.0346.0142.0142.01882.0154.0154.0336.0...
walk 455.018.0281.0554.0256.0256.0244.0244.0244.045...
Name: travel time, dtype: object
いつも並べているだけで、合計しませんでした。
列に文字列travel time
があるので、使用してみてくださいSeries.astype
:
df['travel time'] = df['travel time'].astype(float)
数値ではないために失敗した場合はto_numeric
、errors='coerce'
:とともに使用します。
df['travel time'] = pd.to_numeric(df['travel time'], errors='coerce')
そして最後の集計:
df1 = df.groupby('mode', as_index=False)['travel time'].sum()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加