繁体   English   中英

替换pandas.DataFrame中的字符串

[英]Replace string in pandas.DataFrame

所以我要替换所有的"." 在我的DataFrame中使用"-"

例如,

    Symbol  Company                 Sector
230 TRP     TransCanada Corporation Energy
231 TCL.A   Transcontinental Inc.   Industrials

像这样

    Symbol  Company                 Sector
230 TRP     TransCanada Corporation Energy
231 TCL-A   Transcontinental Inc.   Industrials

我尝试了一些方法,但似乎不起作用,例如stock_frame['Symbol'].apply(lambda x: x.replace(".","-"))

谢谢

改用Symbol Series的str方法怎么样?

Python 2.7.8 (default, Sep 30 2014, 15:34:38) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
>>> tickers = [('TRP', 'TransCanada Corporation', 'Energy'), ('TCL.A', 'Transcontinental Inc.', 'Industrials')]
>>> tickers
[('TRP', 'TransCanada Corporation', 'Energy'), ('TCL.A', 'Transcontinental Inc.', 'Industrials')]
>>> tickers_df = pd.DataFrame(tickers, columns=['Symbol', 'Company', 'Sector'])
>>> tickers_df
  Symbol                  Company       Sector
0    TRP  TransCanada Corporation       Energy
1  TCL.A    Transcontinental Inc.  Industrials
>>> tickers_df.Symbol= tickers_df.Symbol.str.replace('.','-')
>>> tickers_df
  Symbol                  Company       Sector
0    TRP  TransCanada Corporation       Energy
1  TCL-A    Transcontinental Inc.  Industrials
>>> 

您还可以使用熊猫自己的替换功能 ..

重建示例DataFrame:

stock_frame = pd.DataFrame({
    'Symbol': ['TRP', 'TCL.A'], 
    'Company': ['TransCanada Corporation', 'Transcontinental Inc.'], 
    'Sector': ['Energy', 'Industrials']})

现在运行replace命令。

stock_frame['Symbol'].replace({"\.": "-"}, regex=True, inplace=True)

结果正是您要寻找的。

  Symbol  Company                 Sector
0 TRP     TransCanada Corporation Energy
1 TCL-A   Transcontinental Inc.   Industrials

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM