con*_*eak 4 python python-3.x pandas
我有一个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>
Run Code Online (Sandbox Code Playgroud)
我希望在每个元素中最后一次出现点之后删除所有.内容,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>
Run Code Online (Sandbox Code Playgroud)
这就是我的尝试:
df_temp=".".join(DF.split(".")[:-1]).
不幸的是,这似乎只适用于字符串而不是Dataframe.我是否需要稍微调整一下这条线以实现我想要的效果?有人请帮忙!
小智 7
你可以这样做:
df_temp = df.apply(lambda x: x.str.split('.').str[:-1].str.join('.'))
Run Code Online (Sandbox Code Playgroud)
输出:
EQ1 EQ2 EQ3
0 Apple Oranage.eatable NaN
1 Pear.eatable Banana NaN
2 Orange Tomato Potato.eatable
3 Kiwi Pear Cabbage
Run Code Online (Sandbox Code Playgroud)
请参阅字符串方法docs
| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |