pel*_*les 5 replace python-3.x pandas
我用这个命令导入了一个 .csv 文件:
mydata = pd.read_csv(file ,sep='\t' , engine='python' , dtype = {'Day' : np.datetime64 , 'Year' : np.int} )
Run Code Online (Sandbox Code Playgroud)
但我注意到一些列名有空格,Account id而不是Account_id
现在我得到了我的列名列表:
dwb_col= data.columns
Run Code Online (Sandbox Code Playgroud)
我想blank spaces " "用"_"符号替换每个列名(即每个 dwb_col 元素)。
为了以这种方式重命名列:mydata.columns = [my_new_columns_list]
我怎样才能找到和更换零件?
在导入过程中是否有任何解决方法/快捷方式让我在“”(空格)上收集带有“_”(下划线符号)的列名称?
这将做,使用str.replace:
df.columns = df.columns.str.replace(" ", "_")
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用正则表达式\s+,它将匹配 1 个或多个空格,同时' '仅匹配一个
dwb_col = df.columns.str.replace('\s+', '_')
Run Code Online (Sandbox Code Playgroud)
然后重新分配
df.columns = dwb_col
Run Code Online (Sandbox Code Playgroud)
如果您想先删除尾随或前导空格,您可以添加
str.strip
df.columns.str.strip().str.replace('\s+', '_')
Run Code Online (Sandbox Code Playgroud)
关于数字 2,您可以导入文件并使用nrows参数仅收集前 n 行来收集列名称。
col_df = pd.read_csv(data,nrows=1)
cols = [col for col in col_df.columns.tolist() if '_' in col]
Run Code Online (Sandbox Code Playgroud)
然后读取你的数据usecols
df = pd.read_csv(data,usecols=cols)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2866 次 |
| 最近记录: |