下午,
我有一个列表,我目前通过手动更改代码来设置索引。
df1 = df1.set_index(['Stock', 'bool1', 'bool2', 'bool3'], append=True)
我将如何自动执行此操作,以便我能够使用其他列表设置列表的索引,例如:
k = ['Stock', 'bool1', 'bool2', 'bool3]
谢谢
答案 0 :(得分:1)
当你在python(和许多编程语言)中创建一个变量时,你只需要创建一个指针来存放在内存中的实际数据。与k
所在的内存地址相比,它更容易引用和记住['Stock', 'bool1', 'bool2', 'bool3']
作为人。
就像Erica在她的评论中提到的那样,当您只是将set_index
放在列表的位置时,它会使用实际数据k
填充k = ['Stock', 'bool1', 'bool2', 'bool3']
df1 = df1.set_index(k, append=True)
。
这样您就可以将列表保留在k
方法之外,只需使用变量k = ['Stock', 'bool1', 'bool2', 'bool3']
df1 = df1.set_index(k, append=True)
...
k.append('custom_attribute') # df1.set_index is updated now.
引用列表:
$http({
url: serverUrl,
method: 'POST',
headers: {'authorization': 'Basic ' + new Buffer(username + ':' + password).toString('base64');},
data: fields
})
通过这种方式实现这一目标的好处是,您现在可以更轻松地更改 var productNameTags = document.DocumentNode.SelectNodes(textBox3.Text);
var priceTags = document.DocumentNode.SelectNodes(textBox2.Text);
var codeNameAndPrice = productNameTags.Zip(priceTags, (n, w) => new { productNameTags = n, priceTags = w });
int counter = 1;
if (codeNameAndPrice != null)
{
foreach (var nw in codeNameAndPrice)
{
label1.Visible = true;
label1.Text += counter + ". " + nw.productNameTags.InnerHtml + " - " + nw.priceTags.InnerHtml + "\n";
}
}
,并且在任何地方使用k 都会更新,因为它们只是指向同一个地方在内存中你刚刚更改了该内存中的数据。
<th><input types="number" ng-model="GeneN" ng-change="change()"></th>
<th><input types="number" ng-model="Des" ng-change="change()"></th>
<th><input types="number" ng-model="Org" ng-change="change()"></th>
<th><input types="number" ng-model="Site" ng-change="change()"></th>