我有两个相同维度的表,并且如果将二元函数的结果应用于这两个表的相应单元格,则希望在每个单元格中创建第三个表格。例如:
$ t1
array([[0, 1],
[2, 3]])
$ t2
array([["A", "B"],
["C", "D"]])
$ combine(t1, t2, lambda x, y: "{}-{}".format(x, y))
array([["0-A", "1-B"],
["2-C", "3-D"]])
换句话说,我想要一个通用版本的元素操作,如add,div等。听起来像一个简单的任务,但我找不到任何地方如何轻松地做到这一点。
答案 0 :(得分:2)
假设列具有相同的名称,您可以使用x = -1:0.01:1;
contour2d(x, 2*x, Heart, [0 0]);
plot2d(x, heart_up(x), 2);
plot2d([x1 x2], [y1 y2], -2);
。
var sku = ""; //to be passed to server when filled
var cookie_info = {
number_nights: number_nights_cookie,
number_travelers: number_travelers_cookie,
type_traveler: type_traveler_cookie,
departure_date: departure_date_cookie,
country: country_cookie
};
$.ajax({
type: 'POST',
url: 'https://azooree.com/wp-admin/php/sku-calculation.php',
data: cookie_info,
success: function(response) {
console.log('success', response);
sku = response;
},
error: function() {
console.log('error!');
alert("[ERROR] Information lost, please try again. Thank you!");
}
});
var basic = {
info: sku + "LP"
};
df.apply
更一般地说:
df1.apply(lambda x: binary_function(x, df2[x.name]))
使用df1
0 1
0 0 1
1 2 3
df2
0 1
0 A B
1 C D
df1.astype(str) + '-' + df2
0 1
0 0-A 1-B
1 2-C 3-D
:
df1.apply(lambda x: x.astype(str) + '-' + df2[x.name])
0 1
0 0-A 1-B
1 2-C 3-D
答案 1 :(得分:1)
具有非对齐索引和列的DF的演示:
设定:
In [26]: d1 = pd.DataFrame(t1)
In [27]: d2 = pd.DataFrame(t2, index=[3,5], columns=['a','b'])
In [28]: d1
Out[28]:
0 1
0 0 1
1 2 3
In [29]: d2
Out[29]:
a b
3 A B
5 C D
解决方案:
In [30]: d1.astype(str).add('-').add(d2.values)
Out[30]:
0 1
0 0-A 1-B
1 2-C 3-D