0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pandasでfilterメソッドを使うと'Empty DataFrame'となる

Last updated at Posted at 2021-11-10

#やりたいこと
取得したAPIデータがCSVになっているので、pandasを用いてdataframe化して項目を絞りたい。

##データ取得のソースコード

headers = {
    'X-API-Key': 'xxx',
}

response = requests.get('https://xxx', headers=headers)
body = response.content

print(response)
print(body)

##csvをdataframe化して、filterで絞りをかけるソースコード

df = pd.read_csv(io.BytesIO(body),sep=" ")
print(df.columns.values)
df = df.filter(items= ['xxx'])
print(df)

###実行結果

['xxx yyy zzz aaa']
Empty DataFrame
Columns: []
Index: [xxx ...]

[2076 rows x 0 columns]

#発生した問題
df.columns.values
で存在を確認したcolumnが、filterをかけると存在せず
Empty DataFrame
が返ってくる。

#解決方法
sep=' '
を削除する。

#原因
sep=' 'があると


print(df.columns.values)

-----------------
['xxx yyy zzz aaa']


と1つのcolumnとして認識される。
正しくは

print(df.columns.values)

-----------------
['xxx', 'yyy', 'zzz', 'aaa']

と表示されてほしい。
よく見るとクオーテーションがおかしいなと思ったことが気づいたきっかけ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?