現在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)
を実行すると、ファイル名が出力されるため、これは特に奇妙です。誰かが私が間違っていることを偶然知っているでしょうか?
ありがとうございました。
回避策は、columns.name
を設定し、必要なときにそれを使用することです。
例:
df = pd.DataFrame()
df.columns.name = 'name'
print(df.columns.name)
name