我正在處理包含名爲「raw_parameter_name」的列的數據框。在這一列中,我有不同的字符串值。幾個值類似於以下模式「ABCD; MEAN」。 我想要做的是用「ABCD; X-BAR」替換每個值「ABCD; MEAN」。子字符串「ABCD」可能會有所不同,但模式「MEAN」是我想要替換的常量。使用「替換」方法查看不同的選項,但不知道如何替換子字符串而不是整個字符串。請指教。 預先感謝您替換熊貓數據框中的子字段列
2
A
回答
2
您可以使用正則表達式模塊re
例如:
import pandas as pd
import re
df = pd.DataFrame({"row_parameter_name":['abcd;MEAN','Dogg11;MEAN',';MEAN']})
Out[126]:
row_parameter_name
0 abcd;MEAN
1 Dogg11;MEAN
2 ;MEAN
df['row_parameter_name'] = df['row_parameter_name'].apply(lambda x: re.sub(';MEAN$',';X-BAR',x))
In [128]: df
Out[128]:
row_parameter_name
0 abcd;X-BAR
1 Dogg11;X-BAR
2 ;X-BAR
2
使用str.contains
創建一個布爾指數掩蓋系列,然後str.replace
更換您的字符串:
In [172]:
df = pd.DataFrame({'raw_parameter_name':['ABCD;MEAN', 'EFGH;MEAN', '1234;MEAN', 'sdasd;MEAT']})
df
Out[172]:
raw_parameter_name
0 ABCD;MEAN
1 EFGH;MEAN
2 1234;MEAN
3 sdasd;MEAT
In [173]:
df.loc[df['raw_parameter_name'].str.contains(';MEAN$'), 'raw_parameter_name'] = df['raw_parameter_name'].str.replace('MEAN', 'X-BAR')
df
Out[173]:
raw_parameter_name
0 ABCD;X-BAR
1 EFGH;X-BAR
2 1234;X-BAR
3 sdasd;MEAT
這符合其中substrin ';MEAN'
存在$
是一個終止符
布爾面具看起來如下:
In [176]:
df['raw_parameter_name'].str.contains(';MEAN$')
Out[176]:
0 True
1 True
2 True
3 False
Name: raw_parameter_name, dtype: bool
個
時序
對於40,0000行DF使用str.replace
比使用apply
快:
In [183]:
import re
%timeit df['raw_parameter_name'].apply(lambda x: re.sub(';MEAN$',';X-BAR',x))
%timeit df['raw_parameter_name'].str.replace('MEAN', 'X-BAR')
1 loops, best of 3: 1.01 s per loop
1 loops, best of 3: 687 ms per loop
相關問題
- 1. Python 2.7替換熊貓數據框中的一個熊貓DF
- 2. 熊貓:替換數據框中的列值
- 3. 如何替換熊貓數據框中列的日期?
- 4. 在熊貓數據框中用'nan'替換數字
- 5. 替換熊貓數據框中的特殊字符
- 6. 熊貓數據框中列出字典
- 7. 熊貓子集數據框中的反向字符串列
- 8. 用隨機數替換熊貓數據框中的唯一值
- 9. 如何替換熊貓數據框中的非整數值?
- 10. 如何用其他系列替換熊貓數據框的子集
- 11. 熊貓數據框用NaN替換字符串使用pd.concat
- 12. 熊貓數據框 - 列轉
- 13. Python熊貓。列替換值
- 14. 分組數據框中列,並轉換到字典,大熊貓
- 15. 熊貓,Python。替換列中的隨機數值子集
- 16. 熊貓緩慢的數據幀替換
- 17. 條件性替換熊貓數據框中的對象
- 18. 無法根據熊貓列中的條件替換字符串
- 19. 熊貓 - 根據指數替換數值
- 20. 列在熊貓數據框中的行
- 21. 替換熊貓中兩列的值
- 22. Python熊貓替換列中的值
- 23. 如何替換熊貓數據框中的字符串中的空格?
- 24. Python熊貓 - 數據框中的數字列在指數中
- 25. 替換熊貓多索引數據幀中的列值
- 26. 等於大熊貓字段選擇列數據框
- 27. 熊貓數據框中查找和替換
- 28. 用它們列的順序替換熊貓數據框中的值
- 29. 在大熊貓數據幀替換值
- 30. 替換類別數據(大熊貓)
謝謝了很多。這對我有用。欣賞快速響應 – Felix
沒問題,如果對你來說可以的話,你可以upvote /接受它! –