Я хочу прочитать каждую главу каждого столбца (A = 77.34, B = 78.28, C = 85.44 и D = 92.46 в этом случае) и сохранить DataFrame. Если все эти главы больше 65, сохраните файл csv в определенной папке (Высокий). Если значение не более 55, сохраните как csv в определенной папке (Low). Я не вижу никакого файла csv в папке (высокий в этом случае), и я не понимаю, где моя проблема. Я использую Python27.
Моя программа:
import pandas as pd
import numpy as np
import os
import csv
df = pd.DataFrame({'A': [77.34, 44.09, 44.15, 43.61],
'B': [78.28, 46.28, 46.00, 46.03],
'C': [85.44, 41.89, 42.15, 42.65],
'D': [92.46, 42.22, 42.55, 42.02]
}, index=pd.Index(range(4), name='idx'))
X1=df.iloc[0,0]
X2=df.iloc[0,1]
X3=df.iloc[0,2]
X4=df.iloc[0,3]
def Rho (df):
if (X1>65 and X2>65 and X3>65 and X4>65):
df.to_csv('High.csv')
path = 'D:\My_Path\High'
extension = 'csv'
os.chdir(path)
elif (X1<55 and X2<55 and X3<55 and X4<55):
df.to_csv('Low.csv')
path = 'D:\My_Path\Low'
extension = 'csv'
os.chdir(path)
else:
print("Ignore")
Rho (df)
Вы используете to_csv
неправильно. Вы можете передать ему полный путь, включая каталог, имя файла и расширение с аргументом path
. Вам также не нужно менять текущий os.chdir(path)
с помощью os.chdir(path)
.
См. Документы.
...
def Rho (df):
if (X1>65 and X2>65 and X3>65 and X4>65):
df.to_csv(path='D:\My_Path\High.csv')
elif (X1<55 and X2<55 and X3<55 and X4<55):
df.to_csv(path='D:\My_Path\Low.csv')
else:
print("Ignore")
...
df.to_csv(os.path.join(dir,file_name))