月別アーカイブ: 2021年3月

python pandas データフレームをゼロから作る方法 初期値として全てに0をセット

データフレームの作り方はいろいろあります。既存のエクセルファイルを読み込んだり、リストの形になっているデータを読み込んだり。しかし、データがあとから生成される場合に、最初に「空」のデータフレームを作っておきたい場合もあります。行名、列名は指定して、値は全て0を初期値とするデータフレームの作り方。

 

import pandas as pd

 

行名 = [2016,2017,2018,2019,2020]
列名 = [‘Medicine’,’Science’]
df = pd.DataFrame(index=行名, columns=列名)

for col in df.columns:

df[col].values[:] = 0

python3では日本語も変数名として使えるので、上のコードではそうしてみました。

 

dfの出力結果は、

Medicine Science
2016 0 0
2017 0 0
2018 0 0
2019 0 0
2020 0 0

となります。

【対処法・解決】エラーメッセージ UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x8c in position 62517: invalid start byte

タブ区切りのCSVファイルをpandasのread_table()メソッドを用いてデータフレームとして読み込もうとしたときに、

df = pd.read_table(file)

UnicodeDecodeError: ‘utf-8′ codec can’t decode byte 0x8c in position 62517: invalid start byte というエラーが出てしまい、にっちもさっちもいかなくなって困りました。ネットで見かけた解決策をあれこれ試しても全然効果なし。ところが、encoding=’unicode_escape’を付けてみたら、

 

df = pd.read_table(file, encoding=’unicode_escape’)

 

無事読み込めました。