调用外部票据

2024-06-16 09:37:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一长串pandas转换命令,需要在pandas数据帧上运行:

pd['newvar_A'] = pd['somevar'] * pd['somevar']
pd['newvar_C'] = pd['somevar'] * pd['somevar']
pd['newvar_D'] = pd['somevar'] * pd['somevar']
pd['newvar_ETC'] = pd['somevar'] * pd['somevar']

这是一个很长的列表(大约150行)。是否可以将其作为一个名为transformations.py的单独脚本包含在已经存在的脚本中?我的想法是让主脚本保持简单,所以我的想法是让脚本看起来像这样:

import pandas as pd
pd.read_csv ('data.csv')
...
#Run transformations
insert file = "transformations.py"
...
#rest of the main script

是否有一个Python命令来调用另一个Python脚本(假设该脚本与工作目录位于同一文件夹中)?你知道吗

谢谢!你知道吗


Tags: csv数据pyimport命令脚本pandas列表
1条回答
网友
1楼 · 发布于 2024-06-16 09:37:25

您可以尝试“导入”脚本,因为这是根据post的最佳方式

一个小例子

你知道吗示例.csv你知道吗

name,age
sharon,12
shalom,10

我要导入的脚本
名称更改.py你知道吗

import pandas as pd

# transform the csv file
data = pd.read_csv('sample.csv')
data.iloc[0,0] = 'justin'
data.to_csv('sample.csv',index = False)

主代码
堆栈溢出.py你知道吗

import pandas as pd

# before transform
data = pd.read_csv('sample.csv')
print(data)

# call the script
import nameChange

# do the work after the script runs
transformed_data = pd.read_csv('sample.csv')
print(transformed_data)

输出

  name  age
0 sharon 12
1 shalom 10
  name  age
0 justin 12
1 shalom 10

运行上述代码而不修改原始csv

我要导入的脚本
名称更改.py你知道吗

import pandas as pd
import pickle

# transform the csv file variable which was saved by stackoverflow.py
data = pickle.load(open('data.sav','rb'))
data.iloc[0,0] = 'justin'
# saving the df
pickle.dump(data,open('data.sav','wb'))

主代码
堆栈溢出.py你知道吗

import pandas as pd
import pickle

# before transform
data = pd.read_csv('sample.csv')
print(data)
pickle.dump(data,open('data.sav','wb'))

# call the script
import nameChange
transformed_data = pickle.load(open('data.sav','rb'))

# do the work after the script runs
print(transformed_data)

相关问题 更多 >