下記のようなコードを書きました。
結果は出たのですが、警告がでました。
df1.loc['合計'] = ['','',df1['金額'].sum()]の箇所に問題があるのは分かったのですが、
解決方法がわかりません。
解決策はどのようにすればよいのでしょうか?よろしくお願い致します。
Python
1import pandas as pd 2 3df = pd.DataFrame( 4data={'企業CD':["1","2","3","1","3",], 5'数量':[3,10,100,5,20], 6'金額':[20,2,10,100,20],}) 7 8 9w_kigyou_cd = sorted(set(df['企業CD'])) 10for i in w_kigyou_cd: 11 df1 = df[df['企業CD'] == i] 12 df1.loc['合計'] = ['','',df1['金額'].sum()] 13 print(df1)
警告内容
Warning (from warnings module):
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\indexing.py", line 692
iloc._setitem_with_indexer(indexer, value, self.name)
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
企業CD 数量 金額
0 1 3 20
3 1 5 100
合計 120
Warning (from warnings module):
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\indexing.py", line 692
iloc._setitem_with_indexer(indexer, value, self.name)
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
企業CD 数量 金額
1 2 10 2
合計 2
Warning (from warnings module):
File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\core\indexing.py", line 692
iloc._setitem_with_indexer(indexer, value, self.name)
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
企業CD 数量 金額
2 3 100 10
4 3 20 20
合計 30
使っているツールのバージョンなど補足情報
Windows10
python3.9 64bit
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/24 22:37