1
df[columns]
とdf.loc[:,columns]
の違いは、左辺値と右辺値の両方ですか?pandas.DataFrame列にアクセスするさまざまな方法
彼らは行動POVから交換可能であると思われる:
>>> df = pd.DataFrame({'x':[1,2,3],'y':['a','b','c']})
>>> df[['x']].equals(df.loc[:,['x']])
True
>>> df.loc[:,'z'] = df.x.apply(str) + df.y
>>> df['a'] = df.x.apply(str) + df.y
>>> df
x y z a
0 1 a 1a 1a
1 2 b 2b 2b
2 3 c 3c 3c
私はどこかに耐え難いほどの細部でこれに答える文書が存在しているはず(と私は一度もそれを見て確信しているが、リンクがいいだろう)、しかし、私は "エグゼクティブサマリー"を見ています。
具体的には:もう一方のショートカットですか?それとも意味的に違いがありますか?
PS。これは、メッセージ
〜/ .virtualenvs /ウィルバー/ libに/ python2.7 /のsite-packages /パンダ/コア/ indexing.pyによって促される:465:SettingWithCopyWarning: 値がオンに設定されるようにしようとしていますDataFrameからのスライスのコピー。 代わりに.loc [row_indexer、col_indexer] = valueを使用してみてください
私はあなたの質問を理解していません。あなたはここで何が起こっているのか知りたいですか? –
はい - どちらが速く/安く/安全であるかのように – sds
私は 'ix'フィルタリングが速いと思いますが、100%確実にする必要がある場合はさらにテストが必要です –