我有一个看起来像这样的数据帧DF(这是一个示例):
EQ1 EQ2 EQ3
0 Apple.fruit Oranage.eatable.fruit NaN
1 Pear.eatable.fruit Banana.fruit NaN
2 Orange.fruit Tomato.eatable Potato.eatable.vegetable
3 Kiwi.eatable Pear.fruit Cabbage.vegetable
<And so on.. It is a large Dataframe>
我希望在最后一次出现点之后删除所有内容.在DF的每个元素中,并以不同的名称保存,例如df_temp.
期望的输出:
EQ1 EQ2 EQ3
0 Apple Oranage.eatable NaN
1 Pear.eatable Banana NaN
2 Orange Tomato Potato.eatable
3 Kiwi Pear Cabbage
<And so on>
这是我试过的:
df_temp =加入 “ ”(DF.split()“.”[: – 1]).
不幸的是,这似乎只适用于字符串而不是Dataframe.我是否需要稍微调整一下这条线来实现我想要的?有人请帮忙!
最佳答案 你可以这样做:
df_temp = df.apply(lambda x: x.str.split('.').str[:-1].str.join('.'))
输出:
EQ1 EQ2 EQ3
0 Apple Oranage.eatable NaN
1 Pear.eatable Banana NaN
2 Orange Tomato Potato.eatable
3 Kiwi Pear Cabbage