考虑以下数据框,d1作为学生信息,d2作为主题等级
>>> data = [['Alice',18]]
>>> d1 = pd.DataFrame(data,columns=['Name','Age'])
>>> d1
Name Age
0 Alice 18
>>> data2 = [['Science','A'],['Math','C'],['English','B']]
>>> d2 = pd.DataFrame(data2, columns=['Subject','Grade'])
>>> d2
Subject Grade
0 Science A
1 Math C
2 English B
我想将d1和d2结合起来
Name Age Subject Grade
0 Alice 18 Science A
1 Alice 18 Math C
2 Alice 18 English B
答案 0 :(得分:4)
使用merge
+ assign
+ drop
进行交叉联接 - 如果要在RouteReuseStrategy
中合并多行,可以使用此解决方案:
<?php
function data((string)$data)
{
echo $data;
}
data(123);
d1
答案 1 :(得分:2)
您可以使用assign
In [101]: d2.assign(**d1.iloc[0])
Out[101]:
Subject Grade Age Name
0 Science A 18 Alice
1 Math C 18 Alice
2 English B 18 Alice
或者,
In [102]: d2.assign(**d1.iloc[0].to_dict())
Out[102]:
Subject Grade Age Name
0 Science A 18 Alice
1 Math C 18 Alice
2 English B 18 Alice
答案 2 :(得分:2)
你可以使用concat和ffill,即
ndf = pd.concat([d1,d2],1).ffill()
Name Age Subject Grade 0 Alice 18.0 Science A 1 Alice 18.0 Math C 2 Alice 18.0 English B
答案 3 :(得分:0)
为什么不重建Dataframe
pd.DataFrame([data[0]+x for x in data2],columns=['Name','Age','Subject', 'Grade'])
Out[279]:
Name Age Subject Grade
0 Alice 18 Science A
1 Alice 18 Math C
2 Alice 18 English B