Сохранение Панд в текстовом формате

#pandas

#pandas

Вопрос:

Я пытаюсь сохранить выходные данные, которые представляют собой число, в текстовом формате в pandas после работы с набором данных.

 import pandas as pd
df = pd.read_csv("sales.csv")
def HighestSales():
    df.drop(['index', "month"], axis =1, inplace = True)
    df2 = df.groupby("year").sum()
    df2 = df2.sort_values(by = 'sales', ascending = True).reset_index()
    df3 = df2.loc[11, 'year']
    df4 = pd.Series(df3)
    df5 = df4.iloc[0]
#*the output here is 1964 , which alone needs to be saved in the text file*.
    df5.to_csv("modified.txt")
HighestSales()
 

Но я получаю, что объект ‘numpy.int64’ не имеет атрибута ‘to_csv’ — эта ошибка. Есть ли способ сохранить только одно значение в текстовом файле?

Комментарии:

1. вы можете преобразовать его в dataframe или pd.Series перед записью. Альтернативно, df5 — это просто значение. Вы можете записать его с помощью обычного файла записи и записи. Я вижу оба решения в разделах ответов. Один из них решит

Ответ №1:

вы можете сделать:

 # open a file named modified.txt   
with open('modified.txt', 'w') as f:
    # df5 is just an integer of 196
    # and write 1964 plus a line break
    f.write(df5   'n')
 

Ответ №2:

Вы не можете сохранить одно значение в csv с помощью «pd.to_csv». В вашем случае вы должны снова преобразовать его в DataFrame, а затем сохранить. Если вы хотите видеть только число в файле .txt, вам нужно добавить некоторые параметры:

 result = pd.DataFrame(df5)
result.to_csv('modified.txt', index=False, header=False)