【跟着stackoverflow学Pandas】Renaming columns in pandas-列的重命名
2017-08-03 19:19
489 查看
最近做一个系列博客,跟着stackoverflow学Pandas。
专栏地址:http://blog.csdn.net/column/details/16726.html
以
https://stackoverflow.com/questions/tagged/pandas?sort=votes&pageSize=15
上面的方法直接给columns属性赋值, 如果需要对单个列名进行修改,可以
但是绝对不能
参考
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html
专栏地址:http://blog.csdn.net/column/details/16726.html
以
pandas作为关键词,在stackoverflow中进行搜索,随后安照 votes 数目进行排序:
https://stackoverflow.com/questions/tagged/pandas?sort=votes&pageSize=15
Renaming columns in pandas - 列的重命名
https://stackoverflow.com/questions/11346283/renaming-columns-in-pandas方法1
>>> df = pd.DataFrame({'$a':[1,2], '$b': [10,20]}) >>> df.columns = ['a', 'b'] >>> df # a b #0 1 10 #1 2 20
上面的方法直接给columns属性赋值, 如果需要对单个列名进行修改,可以
col_names = df.columns.values col_names[0] = 'new_name' df.columns = col_names
但是绝对不能
df.columns.values[0] = 'new_name', df.columns.values 是不允许修改的。
方法2
如果仅对特定的列进行重命名,我们可以采用rename函数,进行操作。
df = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'}) # OR new_df = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'}, inplace=True) # inplace = True 目的是修改原有Dataframe,不生成新的 DataFrame
参考
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html
# rename 可以修改 Series 的index值 >>> s = pd.Series([1, 2, 3]) >>> s 0 1 1 2 2 3 dtype: int64 >>> s.rename("my_name") # scalar, changes Series.name 0 1 1 2 2 3 Name: my_name, dtype: int64 >>> s.rename(lambda x: x ** 2) # function, changes labels 0 1 1 2 4 3 dtype: int64 >>> s.rename({1: 3, 2: 5}) # mapping, changes labels 0 1 3 2 5 3 dtype: int64 >>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) >>> df.rename(2) Traceback (most recent call last): ... TypeError: 'int' object is not callable >>> df.rename(index=str, columns={"A": "a", "B": "c"}) a c 0 1 4 1 2 5 2 3 6 >>> df.rename(index=str, columns={"A": "a", "C": "c"}) a B 0 1 4 1 2 5 2 3 6
相关文章推荐
- 【跟着stackoverflow学Pandas】How to iterate over rows in a DataFrame in Pandas-DataFrame按行迭代
- 【跟着stackoverflow学Pandas】 - Pandas: change data type of columns - Pandas修改列的类型
- 【跟着stackoverflow学Pandas】Select rows from a DataFrame based on values in a column -pandas 筛选
- 【跟着stackoverflow学Pandas】add one row in a pandas.DataFrame -DataFrame添加行
- 【跟着stackoverflow学Pandas】 - Adding new column to existing DataFrame in Python pandas - Pandas 添加列
- 【跟着stackoverflow学Pandas】“Large data” work flows using pandas-pandas大数据处理流程
- 【跟着stackoverflow学Pandas】 -Get list from pandas DataFrame column headers - Pandas 获取列名
- 【跟着stackoverflow学Pandas】-How do I get the row count of a Pandas dataframe-获取DataFrame行数
- 【跟着stackoverflow学Pandas】- 删除带有NaN的行
- 【跟着stackoverflow学Pandas】- apply、applymap、map 三者使用差异
- 【跟着stackoverflow学Pandas】--Converting a Pandas GroupBy object to DataFrame-Groupby对象转换为DataFrame
- 【跟着stackoverflow学Pandas】Delete column from pandas DataFrame-删除列
- add more columns in join table using spring, hibernate, JPA Annotations
- Python:pandas.read_sql('latin-1' codec can't encode characters in position 12-15: ordinal no
- 【跟着子迟品 underscore】for ... in 存在的浏览器兼容问题你造吗
- FIND_IN_SET() vs IN(), StackOverFlow上的一个问题
- windows phone ListBox in two columns
- pandas使用read_sql遇到的编码问题('latin-1' codec can't encode characters in position 12-15: ordinal not in r)
- HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster
- How do I compare strings in Java?(Stackoverflow)