☆☆ 新着記事 ☆☆

2019年6月1日土曜日

PandasのDataFrameへの要素へのアクセス



◇位置の指定方法

at, loc : 行ラベル(行名)、列ラベル(列名)
iat, iloc : 行番号、列番号

◇行ラベル(index)、列ラベル(columns)の確認方法
print(df.index.values)

print(df.columns.values)

print(df.columns)
# Index(['Date', 'Tweet', 'Like', 'RT', 'ID'], dtype='object')


◇行ラベルのインデックス番号だけを指定すると行全体の値が取得
print(df.values[0])
[Timestamp('2019-05-24 12:30:00')
 'I was right about Vietnam.\n\nI was right about Iraq.\n\nI will do everything in my power to
prevent a war with Iran.… https://t.co/TJu5zzV15P'
 93930 25154 1131900152795549696]

*df.values[0][0]は出来ない。iat, iloc参照。

◇at, iat : 単独の要素の値を選択、取得・変更
atはrowのLabel名とcolumnのLabel名で位置を指定する。
print(df.at['Bob', 'age'])
iat行番号と列番号で位置を指定する。行番号・列番号は0はじまり。<- これが便利。
print(df.iat[1, 0])


◇loc, iloc : 単独および複数の要素の値を選択、取得・変更
locとilocは単独の値だけでなく、範囲を指定して複数のデータを選択することができる。

locは行ラベルと列ラベルで位置を指定

ilocは行番号と列番号で位置を指定する。


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 caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html

0 件のコメント:

コメントを投稿