Python 3.x 删除数据帧和csv文件中的特定字符
我有一个csv文件,我用熊猫数据框处理。 在名为Python 3.x 删除数据帧和csv文件中的特定字符,python-3.x,csv,pandas,dataframe,Python 3.x,Csv,Pandas,Dataframe,我有一个csv文件,我用熊猫数据框处理。 在名为left的列中,我应该只有数字 (一) 然而,在我的csv文件中,我注意到我有类似于396]或[456]的内容。我的问题是如何删除本专栏中的所有[and]。 2) 在另一个专栏里 df1.icol(0) 0 'm' 1 'i' 2 'i' 3 'l' 4 'm' 5 'u' 6 'i' 7 'l' 8 'i' 9 'l' 10
left
的列中,我应该只有数字
(一)
然而,在我的csv文件中,我注意到我有类似于396]或[456]的内容。我的问题是如何删除本专栏中的所有[and]。
2)
在另一个专栏里
df1.icol(0)
0 'm'
1 'i'
2 'i'
3 'l'
4 'm'
5 'u'
6 'i'
7 'l'
8 'i'
9 'l'
10 '.'
11 '3'
12 'A'
13 'M'
14 'S'
15 'U'
16 'N'
17 'A'
18 'D'
19 'R'
20 'E'
21 'S'
22 'S'
23 'E'
Name: char, dtype: object
我还注意到,我有一些行带有['E'
,]'S'
,而不是'E'
和'S'
。
我如何删除[
和]
3) 我有一个数据框
df =[['c', 88, 118, 2872, 2902], [] ,['g', 8, 98, 287, 202]]
我想删除所有的“[]”
因此,我正在寻找以下内容:
df= [['c', 88, 118, 2872, 2902], ['g', 8, 98, 287, 202]]
我认为如果需要替换所有列中的值,可以使用空字符串:
df = df.replace(['\[','\]'], ['',''], regex=True)
样本:
df = pd.DataFrame({'char':['[E','S]','[E']})
print (df)
char
0 [E
1 S]
2 [E
df = df.replace(['\[','\]'], ['',''], regex=True)
print (df)
char
0 E
1 S
2 E
如果只需要在一列中更换:
df.char = df.char.replace(['\[','\]'], ['',''], regex=True)
print (df)
char
0 E
1 S
2 E
要删除空列表,请使用列表理解
:
L = [['c', 88, 118, 2872, 2902], [] ,['g', 8, 98, 287, 202]]
L1 = [x for x in L if len(x) !=0]
print (L1)
[['c', 88, 118, 2872, 2902], ['g', 8, 98, 287, 202]]
对于删除NaN
行:
L = [['c', 88, 118, 2872, 2902], [] ,['g', 8, 98, 287, 202]]
L1 = [x for x in L if len(x) !=0]
print (L1)
[['c', 88, 118, 2872, 2902], ['g', 8, 98, 287, 202]]
df = pd.DataFrame([['c', 88, 118, 2872, 2902], [] ,['g', 8, 98, 287, 202]])
print (df)
0 1 2 3 4
0 c 88.0 118.0 2872.0 2902.0
1 None NaN NaN NaN NaN
2 g 8.0 98.0 287.0 202.0
print (df.dropna(how='all'))
0 1 2 3 4
0 c 88.0 118.0 2872.0 2902.0
2 g 8.0 98.0 287.0 202.0