【发布时间】:2016-07-27 02:35:17
【问题描述】:
我有一个数据框,df_original:
a b
0 10 5
1 12 6
2 14 1
现在我想创建一个包含c > 5 的所有行的新数据框,然后在这个新数据框上设置一个新的列值:
df = df_original[df_original['b'] > 5]
df['c'] = df['a'] / df['b']
但我收到警告:
/Library/Python/2.7/site-packages/ipykernel/__main__.py:25: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
如果c 没有返回原始数据框,我会非常高兴。但是我应该如何正确地做到这一点并避免警告?
【问题讨论】: