![](/img/trans.png)
[英]How to drop rows in pandas.DataFrame based on values in particular set of columns?
[英]How to set values for particular cells in pandas.Dataframe correctly?
我已經創建了一個pandas DataFrame
df = DataFrame(np.arange(15).reshape(3,5), columns=['a','b','c', 'd', 'e'])
df a b c d e
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
我想為特定單元格設置值:
flag = df['b'] > 3
df[flag]['b']=10
但它不起作用 。
df a b c d e
0 0 1 2 3 4
1 5 6 7 8 9
2 10 11 12 13 14
我使用以下代碼。 它有效,但我不知道為什么?
df['b'][flag] = 10
df a b c d e
0 0 1 2 3 4
1 5 10 7 8 9
2 10 10 12 13 14
不要使用鏈式索引來分配值。
而是使用pd.DataFrame.loc
指定行和列:
df.loc[df['b'] > 3, 'b'] = 10
.loc
索引器接受列表,標量或布爾數組。
pandas
文檔詳細解釋了為什么應該避免鏈式索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.