web-dev-qa-db-ja.com

DataFrameオブジェクトに属性 'name'がありません

現在Pandas DataFramesのリストがあります。リストの各要素(つまり、リストに含まれる各DataFrame)に対して操作を実行し、そのDataFrameをCSVファイルに保存しようとしています。

各DataFrameにname属性を割り当てましたが、場合によってはプログラムが_AttributeError: 'DataFrame' object has no attribute 'name'_エラーをスローすることに気付きました。

ここに私が持っているコードがあります。

_# raw_og contains the file names for each CSV file.
# df_og is the list containing the DataFrame of each file.
for idx, file in enumerate(raw_og):
    df_og.append(pd.read_csv(os.path.join(data_og_dir, 'raw', file)))
    df_og[idx].name = file

# I'm basically checking if the DataFrame is in reverse-chronological order using the
# check_reverse function. If it is then I simply reverse the order and save the file.
for df in df_og:
    if (check_reverse(df)):
        df = df[::-1]
        df.to_csv(os.path.join(data_og_dir, 'raw_new', df.name), index=False)
    else:
        continue
_

_df.name_を使用した2番目のforループでプログラムがエラーをスローしています。

print(df.name)を実行すると、ファイル名が出力されるため、これは特に奇妙です。誰かが私が間違っていることを偶然知っているでしょうか?

ありがとうございました。

2
Seankala

回避策は、columns.nameを設定し、必要なときにそれを使用することです。

例:

df = pd.DataFrame()

df.columns.name = 'name'

print(df.columns.name)

name
0
salhin