我已经编写了一些代码,但我希望以更聪明的方式进行,使用for循环来编写名称。
我的代码是:
for(i=0, i<9, i++)
file_name_0%i = os.path.join(input_folder_name,'subject10%i.dat')
file_DF_0%i = pd.read_table(file_name_0%i, ' ', header=None)
但我想要这样的事情:
df.groupby('ResearchID').filter(lambda g: len(g.TestGrade.unique()) == 1)
我已经找到了答案,但我只找到了R,Java和其他语言的解决方案。
我需要在python中使用它,如果有人可以帮助我,我会非常高兴。
答案 0 :(得分:1)
我会使用dict
files = dict()
for i in range(9):
file_name = os.path.join(input_folder_name, 'subject10{}'.format(i))
files[file_name] = pd.read_table(file_name , ' ', header=None)
答案 1 :(得分:0)
字典似乎是处理变量名与值关系的简单方法。
// Show the XPath query input box
{
"keys": ["ctrl+shift+x"],
"command": "query_xpath",
"args": {
"prefill_query": "//text()", // an XPath query to put into the input box by default - can omit and use "prefill_path_at_cursor": true instead to use the path of the node under the first cursor
"live_mode": true, // as per settings
"normalize_whitespace_in_preview": false, // as per settings
"intelligent_auto_complete": true, // as per settings
"goto_element": "names", // same options available as for goto_relative
"goto_attribute": "value", // options are name, value, entire
"max_results_to_show": 1000 // as per settings
}
},
注意:您的示例变量从#New dictionary
fileDict = {}
for i in range(1,9):
fileName = "file_name_0"+str(i)
fileDF = "file_DF_0"+str(i)
subjectName = "subject10"+str(i)+".dat"
fileDict[fileName] = os.path.join(input_folder_name,subjectName)
fileDict[fileDF] = pd.read_table(fileDict[fileName], ' ', header=None)
开始,而您的循环从1
开始