vin*_*nt 3 csv dataframe python-3.x pandas
我有一个 csv 文件,我使用 Pandas 数据框处理。在称为left我的列中应该只有数字 1)
df.icol(4)
0 2492
1 2448
2 2410
3 2382
4 2358
5 2310
6 2260
7 2208
8 2166
9 2134
10 198
11 198
12 239
13 239
14 243
15 241
16 239
17 394
18 396
19 396
20 396
21 396
22 396
23 396
24 396
Name: bottom, dtype: object
Run Code Online (Sandbox Code Playgroud)
但是在我的 csv 文件中更进一步,我注意到我有类似 396] 或 [456. 我的问题是如何删除此列中的所有 [ 和 ]。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
Run Code Online (Sandbox Code Playgroud)
我还注意到我有一些行['E',]'S'而不是'E'和'S'。我怎样才能删除[和]?
3)我有一个数据框
df =[['c', 88, 118, 2872, 2902], [] ,['g', 8, 98, 287, 202]]
Run Code Online (Sandbox Code Playgroud)
我想删除所有'[]'
结果我正在寻找类似以下的内容:
df= [['c', 88, 118, 2872, 2902], ['g', 8, 98, 287, 202]]
Run Code Online (Sandbox Code Playgroud)
replace如果需要替换所有列中的值,我认为您可以使用空字符串:
df = df.replace(['\[','\]'], ['',''], regex=True)
Run Code Online (Sandbox Code Playgroud)
样本:
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
Run Code Online (Sandbox Code Playgroud)
如果只需要在一列中替换:
df.char = df.char.replace(['\[','\]'], ['',''], regex=True)
print (df)
char
0 E
1 S
2 E
Run Code Online (Sandbox Code Playgroud)
要删除空列表,请使用list comprehension:
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]]
Run Code Online (Sandbox Code Playgroud)
对于删除NaN行dropna:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3240 次 |
| 最近记录: |