我想替换所有包含特定子字符串的字符串。因此,例如,如果我有此数据框:
module: {
rules: [
{
test: /\.(js)$/,
exclude: /node_modules/,
loader: require.resolve('babel-loader'),
},
{
test: /\.(png|svg|jpg|gif)$/,
include: [
path.resolve(__dirname, 'src/assets/'),
],
use: [
'file-loader'
],
},
{
test: /\.hbs$/,
loader: require.resolve('handlebars-loader'),
query: {
inlineRequires: '/assets/',
},
},
{
test: /\.scss$/,
use: [
{
loader: require.resolve('file-loader'),
options: {
name: 'main.css',
}
},
require.resolve('extract-loader'),
require.resolve('css-loader'),
require.resolve('postcss-loader'),
require.resolve('sass-loader'),
],
}
]
},
我想用这样的字符串'test'替换包含import pandas as pd
df = pd.DataFrame({'col_1': ['abc', 'abc123', 'abc456'],
'col_2': ['abc123', '123', 'abc456']})
的字符串:
'abc123'
我尝试过:
df = pd.DataFrame({'col_1': ['abc', 'test', 'abc456'],
'col_2': ['test', '123', 'abc456']})
但是它每次只能处理一个col,我要处理数百个col。我怎么能一次做到呢。
答案 0 :(得分:4)
请注意,由于您在问题中提到了“子字符串”,因此我将示例更改为包含zzabc123zz
,但您提供的示例并未显示该用例。
您可以将df.replace
与正则表达式一起使用。
import pandas as pd
import re
df = pd.DataFrame({'col_1': ['abc', 'abc123', 'abc456'],
'col_2': ['abc123', '123', 'zzabc123zz']})
df.replace(re.compile('.*abc123.*'), 'test', inplace=True)
print(df)
输出
col_1 col_2
0 abc test
1 test 123
2 abc456 test
答案 1 :(得分:1)