我希望得到所有超过第一个"."的角色.如果有的话.否则,我想找回相同的字符("8" - >"8").
例:
v<-c("7.7.4","8","12.6","11.5.2.1")
Run Code Online (Sandbox Code Playgroud)
我想得到这样的东西:
[1] "7 "8" "12" "11"
Run Code Online (Sandbox Code Playgroud)
我的想法是将每个元素拆分为"." 然后只进行第一次拆分.我找不到有效的解决方案......
我有一个这样的数据框:
import pandas as pd
data = {
'c1': ['Test1','Test2','NULL','Test3',' ','Test4','Test4','Test1',"Test3"],
'c2': [' ','Test1',' ','NULL',' ','NULL','NULL','NULL','NULL'],
'c3': [0,0,0,0,0,1,5,0,0],
'c4': ['NULL', 'Test2', 'Test1','Test1', 'Test2', 'Test2','Test1','Test1','Test2']
}
df = pd.DataFrame(data)
df
Run Code Online (Sandbox Code Playgroud)
数据框如下所示:
c1 c2 c3 c4
0 Test1 0 NULL
1 Test2 Test1 0 Test2
2 NULL 0 Test1
3 Test3 NULL 0 Test1
4 0 Test2
5 Test4 NULL 1 Test2
6 Test4 NULL 5 Test1
7 Test1 NULL 0 Test1
8 Test3 NULL 0 Test2
Run Code Online (Sandbox Code Playgroud)
我想删除所有具有超过“空”值60%的列。在我的情况下,“ Empty”表示值例如:“','NULL”或0。有字符串(c1,c2,c4)和整数(c3)。
结果应该是仅包含列c1和c4的数据框。
c1 c4 …Run Code Online (Sandbox Code Playgroud)