質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

1086閲覧

pnadasを用いた特定の文字を含む行の抽出

MotonoriIshida

総合スコア1

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/24 06:58

前提・実現したいこと

pnadasを用いて、placeVistで始まる行を抽出したいのですが、
str.containsを用いてもすべての行がNANになってしまい抽出できません。
なぜでしょうか。

発生している問題・エラーメッセージ

KeyError Traceback (most recent call last) <ipython-input-17-5a88b0472f7f> in <module> ----> 1 placeVisit = timelineObjects[timelineObjects['timelineObjects'].str.contains('placeVisit')] 2 placeVisit ~\anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 2906 if is_iterator(key): 2907 key = list(key) -> 2908 indexer = self.loc._get_listlike_indexer(key, axis=1, raise_missing=True)[1] 2909 2910 # take() does not accept boolean indexers ~\anaconda3\lib\site-packages\pandas\core\indexing.py in _get_listlike_indexer(self, key, axis, raise_missing) 1252 keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr) 1253 -> 1254 self._validate_read_indexer(keyarr, indexer, axis, raise_missing=raise_missing) 1255 return keyarr, indexer 1256 ~\anaconda3\lib\site-packages\pandas\core\indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing) 1296 if missing == len(indexer): 1297 axis_name = self.obj._get_axis_name(axis) -> 1298 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 1299 1300 # We (temporarily) allow for some missing keys with .loc, except in KeyError: "None of [Float64Index([nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,\n nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,\n nan, nan, nan, nan, nan, nan, nan, nan, nan],\n dtype='float64')] are in the [columns]"

該当のソースコード

python3

1placeVisit = timelineObjects[timelineObjects['timelineObjects'].str.contains('placeVisit')] 2placeVisit

元データ

timelineObjects
0 {'placeVisit': {'location': {'latitudeE7': 353...
1 {'activitySegment': {'startLocation': {'latitu...
2 {'placeVisit': {'location': {'latitudeE7': 353...
3 {'activitySegment': {'startLocation': {'latitu...
4 {'placeVisit': {'location': {'latitudeE7': 353...
5 {'placeVisit': {'location': {'latitudeE7': 353...
6 {'activitySegment': {'startLocation': {'latitu...
7 {'placeVisit': {'location': {'latitudeE7': 353...
8 {'activitySegment': {'startLocation': {'latitu...
9 {'placeVisit': {'location': {'latitudeE7': 353...
10 {'activitySegment': {'startLocation': {'latitu...
11 {'placeVisit': {'location': {'latitudeE7': 353...
12 {'activitySegment': {'startLocation': {'latitu...
13 {'placeVisit': {'location': {'latitudeE7': 353...
14 {'activitySegment': {'startLocation': {'latitu...
15 {'placeVisit': {'location': {'latitudeE7': 353...
16 {'activitySegment': {'startLocation': {'latitu...
17 {'placeVisit': {'location': {'latitudeE7': 353...
18 {'activitySegment': {'startLocation': {'latitu...
19 {'placeVisit': {'location': {'latitudeE7': 353...
20 {'placeVisit': {'location': {'latitudeE7': 353...
21 {'activitySegment': {'startLocation': {'latitu...
22 {'placeVisit': {'location': {'latitudeE7': 353...
23 {'activitySegment': {'startLocation': {'latitu...
24 {'placeVisit': {'location': {'latitudeE7': 353...
25 {'activitySegment': {'startLocation': {'latitu...
26 {'placeVisit': {'location': {'latitudeE7': 353...
27 {'activitySegment': {'startLocation': {'latitu...
28 {'placeVisit': {'location': {'latitudeE7': 353...
29 {'activitySegment': {'startLocation': {'latitu...
30 {'placeVisit': {'location': {'latitudeE7': 353...
31 {'activitySegment': {'startLocation': {'latitu...
32 {'placeVisit': {'location': {'latitudeE7': 353...
33 {'activitySegment': {'startLocation': {'latitu...
34 {'placeVisit': {'location': {'latitudeE7': 353...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「該当のソースコード」のコードは間違っていないので、それ以前の部分に問題があるのでは。

Python

1import pandas as pd 2import io 3 4txt = """ 5timelineObjects 6{'placeVisit': {'location': {'latitudeE7': 353... 7{'activitySegment': {'startLocation': {'latitu... 8{'placeVisit': {'location': {'latitudeE7': 353... 9{'activitySegment': {'startLocation': {'latitu... 10""" 11 12df1 = pd.read_csv(io.StringIO(txt)) 13df2 = df1[df1['timelineObjects'].str.contains('placeVisit')] # 「該当のソースコード」相当 14print(df2)

result

1 timelineObjects 20 {'placeVisit': {'location': {'latitudeE7': 353... 32 {'placeVisit': {'location': {'latitudeE7': 353...

投稿2021/01/24 07:23

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

regex=Trueをつけてみてはどうですか?

投稿2021/01/24 07:05

Nippun

総合スコア1147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MotonoriIshida

2021/01/24 07:13

ありがとうございます。 試してみましたが、同様の現象が起こり解決せずです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問