一般常用的有两个方法:
1、使用DataFrame.index = [newName],DataFrame.columns = [newName],这两种方法可以轻松实现。
2、使用rename方法(推荐):
DataFrame.rename(mapper = None,index = None,columns = None,axis = None,copy = True,inplace = False,level = None )
参数介绍:
mapper,index,columns:可以任选其一使用,可以是将index和columns结合使用。index和column直接传入mapper或者字典的形式。
axis:int或str,与mapper配合使用。可以是轴名称(‘index’,‘columns’)或数字(0,1)。默认为’index’。
copy:boolean,默认为True,是否复制基础数据。
inplace:布尔值,默认为False,是否返回新的DataFrame。如果为True,则忽略复制值。
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
df1 = DataFrame(np.arange(9).reshape(3, 3), index = ['bj', 'sh', 'gz'], columns=['a', 'b', 'c'])
print(df1)
a b c
bj 0 1 2
sh 3 4 5
gz 6 7 8
print(df1.index)
df1.index = Series(['beijing', 'shanghai', 'guangzhou'])
print(df1)
a b c
beijing 0 1 2
shanghai 3 4 5
guangzhou 6 7 8
print(df1.index.map(str.upper))
print(df1)
a b c
beijing 0 1 2
shanghai 3 4 5
guangzhou 6 7 8
df1.index = df1.index.map(str.upper)
print(df1)
a b c
BEIJING 0 1 2
SHANGHAI 3 4 5
GUANGZHOU 6 7 8
df2 = df1.rename(index=str.lower, columns=str.upper)
print(df2)
''' 可以很轻松的 修改 dataframe 的 index 和 columns
A B C
beijing 0 1 2
shanghai 3 4 5
guangzhou 6 7 8
df3 = df2.rename(index={'beijing':'bj'}, columns = {'A':'aa'})
print(df3)
aa B C
bj 0 1 2
shanghai 3 4 5
guangzhou 6 7 8
def test_map(x):
return x+'_ABC'
print(df1.index.map(test_map))
print(df1.rename(index=test_map))
a b c
BEIJING_ABC 0 1 2
SHANGHAI_ABC 3 4 5
GUANGZHOU_ABC 6 7 8
一般常用的有两个方法:1、使用DataFrame.index = [newName],DataFrame.columns = [newName],这两种方法可以轻松实现。2、使用rename方法(推荐):DataFrame.rename(mapper = None,index = None,columns = None,axis = None,copy = True,inplace = Fa...
修改索引index
1、采取直接赋值的方法:
df1=pd.DataFrame(np.arange(9).reshape(3,3),index=['bj','sh','gz'],columns=['a','b','c'])
print(df1)
#修改index,直接给index重新赋值
df1.index=['beijing','shanghai','guangzhou']
print(df1)
输出结果:
2、使用rename
可以自定义map函数(x是原有的行列值)
def test_map(x):
return x+
pandas.DataFrame.rename
使用函数: DataFrame.rename(mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None)
功能:更改轴标签
函数字典值必须是唯一的(1对1)。未包含在 字典/Series 中的标签将保留原样。列出的额外标签不会引...
列转行方法
stack函数:pandas.DataFrame.stack(self, level=-1, dropna=True),对于普通的DataFrame而言,直接列索引转换到最内层行索引,生一个Series对象。
对于层次化索引的DataFrame而言,可以将指定的索引层转换到行上,默认是将最内层的列索引转换到最内层行。
unstack函数:pandas.DataFrame.unstack(self, level=-1
pd.read_table(r'路径\info.csv',encoding='编码方式',seq=',')
pd.read_csv(r'路径\info.csv',encoding='编码方式',seq=',')
读取excel文件
pd.read_excel(r'路径\detail.xlsx',sheet_name=1,he...
方法1:修改DataFrame的columns或index属性值
DataFrame属性链接:DataFrame。现在我们知道,对于每一个DataFrame都有index和columns两个属性,这两个属性给出了Dataframe的和的信息。所以我们可以对DataFrame的index或columns属性信息重新赋值,以达到对行或者列重新命名。
注:这种方法是一次性将所有的行 or 列重新命名,不能仅对单个或几个行 or 列重新命名,因为DataF
1. data:数据,可以是numpy数组、列表、字典、Series、另一个DataFrame等。
2. index:行标签,可以是列表、数组、Series或者是由它们组成的列表。
3. columns:列标签,可以是列表、数组、Series或者是由它们组成的列表。
4. dtype:数据类型,可以是numpy数据类型或者Python数据类型。
5. copy:是否复制数据,默认为False。
6. na_values:将指定的值视为缺失值。
7. keep_default_na:是否保留默认的缺失值列表。
8. na_filter:是否过滤缺失值,默认为True。
9. verbose:是否显示详细信息,默认为False。
10. parse_dates:是否将日期解析为datetime类型,默认为False。
11. infer_datetime_format:是否自动推断日期格式,默认为False。
12. dayfirst:是否将日期中的日放在前面,默认为False。
13. compression:压缩格式,可以是gzip、bz2、zip、xz等。
14. engine:读取文件的引擎,可以是c、python等。
15. nrows:读取的行数。
16. skiprows:跳过的行数。
17. skipfooter:跳过的尾部行数。
18. header:指定列名所在的行数,默认为。
19. index_col:指定索引列的列名或列号。
20. usecols:需要读取的列名或列号。
21. delimiter:分隔符,默认为逗号。
22. sep:分隔符,与delimiter参数作用相同。
23. decimal:小数点分隔符。
24. thousands:千位分隔符。
25. encoding:文件编码。
26. squeeze:是否将单列DataFrame转换为Series,默认为False。
27. memory_map:是否使用内存映射文件读取数据,默认为False。
28. float_precision:浮点数精度。