为没有明确的标题道歉。到目前为止,我一直在尝试根据一些列的内容向pandas数据框添加新的“行”,但没有成功。我希望用一个例子来说明这一点。这些数据是模型数据,希望能满足描绘大局的需要。你知道吗
因此,假设一个汽车经销商有以下7个客户。在数据框中,您可以看到他们的客户id、性别(因为为什么不),以及他们目前居住的国家。此外,您可以看到他们是否购买了四个汽车品牌(以及哪种类型的汽车)中的任何一个(NA)(数据框中的所有值都是字符串btw)。例如,客户4是一位来自俄罗斯的女性,她从经销商处购买了一辆保时捷911。你知道吗
Cust-id Sex Country Audi Ferrari Porsche Jaguar
0 Cu1 F FR R8 FF NA NA
1 Cu2 M US NA NA NA XF
2 Cu3 M UK RS7 NA NA NA
3 Cu4 F RU NA NA 911 NA
4 Cu5 M US NA NA 918 Ford
5 Cu6 F US S6 NA NA F-type
6 Cu7 M UK A8 NA MacanS XE
我希望能够为客户购买了多辆车的情况创建新行,每行仅指定一辆车,其他汽车品牌列在该特定行中均显示“NA”。对于上面的示例,这将导致以下数据帧。你知道吗
Cust-id Sex Country Audi Ferrari Porsche Jaguar
0 Cu1 F FR R8 NA NA NA
1 Cu1 F FR NA FF NA NA
2 Cu2 M US NA NA NA XF
3 Cu3 M UK RS7 NA NA NA
4 Cu4 F RU NA NA 911 NA
5 Cu5 M US NA NA 918 NA
6 Cu5 M US NA NA NA Ford
7 Cu6 F US S6 NA NA F-type
8 Cu7 M UK A8 NA NA NA
9 Cu7 M UK NA NA MacanS NA
10 Cu7 M UK NA NA NA XE
这意味着指定了三辆车的原始行将导致三个新行,每个新行只指定其中一辆车(原始行已消失)。Cust id、Sex和Country值不变。第一次使用网站问一个问题,所以希望自己的格式不是太差。感谢您的帮助/指导。 python数据帧
收益率
可以使用^{} 将car列合并为一个列:
删除具有
'NA'
字符串值的行:然后使用^{} 来重塑结果。} 它将一列中的值(例如
pivot
是roughly the inverse of ^{'variable'
)分散到多个列中,从而取消合并car列。你知道吗result['index'] = result.index
用于确保数据透视按原样保留行。你知道吗我的方法如下:
迭代每个
car
列,只保留具有非空值的记录用
pd.concat
连接数据帧,这将在正确的位置创建空值沿着这条路线应该会有效果。虽然没有测试我的代码,所以用你自己的判断!你知道吗
相关问题 更多 >
编程相关推荐