![]() |
打盹的课本 · 【领克01 EM-P】领克汽车_领克01 ...· 1 年前 · |
![]() |
重感情的手术刀 · 开局拥有七位绝色师姐后续 - 抖音· 1 年前 · |
![]() |
酷酷的火柴 · 【雪盈证券美元入金】香港民生银行美元入金指引 ...· 1 年前 · |
![]() |
买醉的蟠桃 · 公示中!深圳教育系统这些单位和个人拟获评先进· 1 年前 · |
![]() |
阳刚的数据线 · 记录是用来打破的,比亚迪2206销量点评 $ ...· 1 年前 · |
我在Panda Dataframe中有一个名为'str‘的列。由于我打算从其中删除所有不包含数值0-9或文字a-z的行,因此以下语句不起作用:
data[data['str'].str.contains(r"[a-zA-z0-9]") == True]
在执行之后,我分析了列值。它仍然有这样的值:
("[[","^")
并删除值(在本例中这是不需要的):
("1","2016","20160715")
有没有人能帮我?
诚挚的问候
发布于 2017-12-09 19:00:52
您可以使用pandas dropna函数,它将删除包含任何空值的整行。
df=df.dropna()
其中df是您的数据帧
发布于 2017-12-09 21:14:35
import pandas as pd
data = pd.DataFrame([[']','//','.'],['a2','b2','c2'],['a3','b',']']],columns=['A','B','C'])
test = data['A']str.match('^[\w\d_-]*$')
data = data[test]
输出:
A B C
1 a2 b2 c2
2 a3 b ]
如果您可以使用非字母-非数字字符,我认为最好的方法是在字典中查找这些字符,然后使用data.replace。
import pandas as pd
import numpy as np
df = pd.DataFrame([[']','//','.'],['a!','b2','c2'],['a3','b!',']']],columns=['A','B','C'])
Output:
A B C
0 ] // .
1 a! b2 c2
2 a3 b! ]
remove = {'.':np.nan, '/':np.nan, ']':np.nan} # The format is {'thing to be replaced':'new thing'}
df['A'] = df['A'].replace(remove) # Checks one column
Output:
A B C
0 NaN // .
1 a! b2 c2
2 a3 b! ]
![]() |
重感情的手术刀 · 开局拥有七位绝色师姐后续 - 抖音 1 年前 |
![]() |
酷酷的火柴 · 【雪盈证券美元入金】香港民生银行美元入金指引 香港民生银行美元入金指引1.入金流程(1)办理香港民生银行卡(点击查看办卡指引)(2)国内网银购汇(将人民币兑换成美元现... - 雪球 1 年前 |
![]() |
买醉的蟠桃 · 公示中!深圳教育系统这些单位和个人拟获评先进 1 年前 |