Python3.8
1df = pd.DataFrame(["{'a': '1.51082', 'b': '1.51150', 'c': '1.51082', 'd': '1.51113'}", 2 "{'a': '1.51112', 'b': '1.51127', 'c': '1.51048', 'd': '1.51081'}", 3 "{'a': '1.51080', 'b': '1.51104', 'c': '1.51061', 'd': '1.51104'}", 4 "{'a': '1.51095', 'b': '1.51144', 'c': '1.51095', 'd': '1.51128'}"], 5 columns = ['x']) 6 7print(df)
を実行すると、
Python3.8
1 x 20 {'a': '1.51082', 'b': '1.51150', 'c': '1.51082', 'd': '1.51113'} 31 {'a': '1.51112', 'b': '1.51127', 'c': '1.51048', 'd': '1.51081'} 42 {'a': '1.51080', 'b': '1.51104', 'c': '1.51061', 'd': '1.51104'} 53 {'a': '1.51095', 'b': '1.51144', 'c': '1.51095', 'd': '1.51128'}
となりますが、
a b c d 0 1.51082 1.51150 1.51082 1.51113 1 1.511121 51127 1.51048 1.51081 2 1.51080 1.51104 1.51061 1.51104 3 1.51095 1.51144 1.51095 1.51128
のように表示させたいです。
df["a"] = 0 for i in range(len(df)): df["a"][i:i+1] = ast.literal_eval(df.iloc[i, 1])["a"]
などの力技を試してみたのですが、どうもfor文やスライスを多く使うと、pandasのSettingWithCopyWarningが出てきてしまいうまくいきません。解決の助けになることであれば、どんなに細かいことでも構いませんので、ご教授ください。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/26 18:27