tim*_*321 19 python warnings pandas chained-assignment
我有一大块代码,在某些地方,在pandas中产生一个带有复制警告的设置(这个问题).
我知道如何解决问题,但我找不到它的行号!有没有办法退出行号(除了蛮力方法,如调试步进或多次打印)?我得到的唯一输出是下面的,它没有上升到我的代码堆栈:
C:\Anaconda3\lib\site-packages\pandas\core\frame.py:2302: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame **kwargs)
Run Code Online (Sandbox Code Playgroud)
Jul*_*ius 27
尝试设置pd.options.mode.chained_assignment ='raise'.
这将抛出一个异常,指向触发SettingWithCopyError的行.
更新:如何捕获错误
import pandas as pd
from inspect import currentframe, getframeinfo
from pandas.core.common import SettingWithCopyError
pd.options.mode.chained_assignment = 'raise'
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
df2 = df[df['a'] == 2]
try:
df2['b'] = 'foo'
except SettingWithCopyError:
print('handling..')
frameinfo = getframeinfo(currentframe())
print(frameinfo.lineno)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2336 次 |
| 最近记录: |