从 Pandas DataFrame 中删除引号中的字符串部分
Removing parts of a string in quotation marks from a Pandas DataFrame
我写了一个 .csv 到 Pandas DataFrame 并且需要删除一些列值。
例如,state
需要删除“'region:'”,但是我尝试使用 inc replace()
或 lstrip()
的任何代码似乎都不起作用。我认为这是因为我要删除的字符串值本身包含单引号。
有人有什么建议吗?
E.G 'region':'CA' 应该是 'CA'
试试下面的代码:
restaurant_df['state'] = restaurant_df['state'].apply(lambda x: x.split(':')[1])
restaurant_df['state'] = restaurant_df['state'].map(lambda x: x.lstrip("'region':" ))
你也可以试试这个:
restaurant_df.state=restaurant_df.state.str.replace("'region':",'')
- 要清洁电池,split on
': '
, with expand=True
. Take element [1]
, and then replace 额外的 '
来自琴弦周围。
- 对我来说看起来像
': '
,但如果没有 space,则在 ':'
上拆分
- 对于
.replace
,请尝试 .replace("'", '')
或 .replace('"', '')
import pandas as pd
# sample
restaurant_df = pd.DataFrame({'state': ["'region': 'CA'"], 'latitude': ["'latitude': 37.787086"], 'longitude': ["'longitude': -122.400212"],
'tel': ["'tel': '(415) 512-8113'"], 'price': ["'price': '1'"], 'rating': ["'rating': 3.0"]})
# display
state latitude longitude tel price rating
0 'region': 'CA' 'latitude': 37.787086 'longitude': -122.400212 'tel': '(415) 512-8113' 'price': '1' 'rating': 3.0
# fix all the columns with "'...: ...'"
cols = ['state', 'latitude', 'longitude', 'tel', 'price', 'rating']
for col in cols:
restaurant_df[col] = restaurant_df[col].str.split(': ', expand=True)[1].str.replace("'", '')
# display repaired dataframe
state latitude longitude tel price rating
0 CA 37.787086 -122.400212 (415) 512-8113 1 3.0
我写了一个 .csv 到 Pandas DataFrame 并且需要删除一些列值。
例如,state
需要删除“'region:'”,但是我尝试使用 inc replace()
或 lstrip()
的任何代码似乎都不起作用。我认为这是因为我要删除的字符串值本身包含单引号。
有人有什么建议吗?
E.G 'region':'CA' 应该是 'CA'
试试下面的代码:
restaurant_df['state'] = restaurant_df['state'].apply(lambda x: x.split(':')[1])
restaurant_df['state'] = restaurant_df['state'].map(lambda x: x.lstrip("'region':" ))
你也可以试试这个:
restaurant_df.state=restaurant_df.state.str.replace("'region':",'')
- 要清洁电池,split on
': '
, withexpand=True
. Take element[1]
, and then replace 额外的'
来自琴弦周围。 - 对我来说看起来像
': '
,但如果没有 space,则在':'
上拆分
- 对于
.replace
,请尝试.replace("'", '')
或.replace('"', '')
import pandas as pd
# sample
restaurant_df = pd.DataFrame({'state': ["'region': 'CA'"], 'latitude': ["'latitude': 37.787086"], 'longitude': ["'longitude': -122.400212"],
'tel': ["'tel': '(415) 512-8113'"], 'price': ["'price': '1'"], 'rating': ["'rating': 3.0"]})
# display
state latitude longitude tel price rating
0 'region': 'CA' 'latitude': 37.787086 'longitude': -122.400212 'tel': '(415) 512-8113' 'price': '1' 'rating': 3.0
# fix all the columns with "'...: ...'"
cols = ['state', 'latitude', 'longitude', 'tel', 'price', 'rating']
for col in cols:
restaurant_df[col] = restaurant_df[col].str.split(': ', expand=True)[1].str.replace("'", '')
# display repaired dataframe
state latitude longitude tel price rating
0 CA 37.787086 -122.400212 (415) 512-8113 1 3.0