zoukankan      html  css  js  c++  java
  • 【379】pandas 说明

    参考:Kaggle Pandas Tutorial Part 1

    参考:Kaggle Pandas Tutorial Part 2

    参考:Pandas速查手册

    参考:pandas 官方 API

    • pandas.Series:单列的
    • pandas.DataFrame:数据表格

    ref: Pandas: Comparison with SQL(※ 文档中对比两者的实现方式)


    Series([data, index, dtype, name, copy, …]) One-dimensional ndarray with axis labels (including time series).

    I. Add new column

      ref: Adding new column to existing DataFrame in Pandas

    1. By declaring a new list as a column
    2. By using DataFrame.insert()
    3. Using Dataframe.assign() method
    4. By using a dictionary

    II. Loop through Series

    1. Series.iteritems()
    2. This function will return a list of tuples, so we should use item[1] to get the specific value of every row.

    III. Loop through DataFrame

      ref: Different ways to iterate over rows in Pandas Dataframe

    1. Using index attribute of the Dataframe
      df["Name"][index] # 列名+索引
      df["Name"] # 相当于获取 Series
      df["Name"][index] # 从 Series 中获取具体索引的值
      
    2. Using loc[] function of the Dataframe
      df.loc[index, "Name"] # 索引+列名
      
      可以直接修改信息
      按照列名定位 cell

    3. Using iloc[] function of the DataFrame
      df.loc[index, index] # 行索引+列索引
      
      与 loc[] 的区别就是列名改成列索引

    4. Using iterrows() method of the Dataframe
    5. Using itertuples() method of the Dataframe
    6. Using apply() method of the Dataframe

    IV. Get Unique Values in A pandas column

    1. 获取列的不重复值,df.name.unique() ,参考:List Unique Values In A pandas Column
    2. 获取列不重复值的数量,df.name.value_counts() ,参考:Count unique values with pandas per groups [duplicate]

    V. Sum DataFrame rows

    1. df['Total'] = df.iloc[:, 1] + df.iloc[:, 2] + df.iloc[:, 3]
      df['Total'] = df.iloc[:, 1:4].sum(axis = 1)   # row1+row2+row3
      

    VI. Convert Strings to Floats for columns

      ref: How to Convert Strings to Floats in Pandas DataFrame 

    1. df_geo_aus['co_lon'] = df_geo_aus['co_lon'].astype(float)
      df_geo_aus['co_lat'] = df_geo_aus['co_lat'].astype(float)
      df_geo_aus['geo_lon'] = df_geo_aus['geo_lon'].astype(float)
      df_geo_aus['geo_lat'] = df_geo_aus['geo_lat'].astype(float)
      
      df_geo_aus.dtypes
    2. 利用 astype() 来实现,然后通过 dtypes 来查看

    VII. Keras Tutorial: Deep Learning

    • if separator is a semicolon and not a regular comma
      pd.read_csv("path", sep=';')
    • data exploration
      df.info()
    • add a new column
      red['type'] = 1
      white['type'] = 0
      # append 'white' to 'red'
      wines = red.append(white, ignore_index=True)
    • heatmap from seaborn
      import seaborn as sns
      corr = wines.corr()
      sns.heatmap(corr, 
                  xticklabels=corr.columns.values,
                  yticklabels=corr.columns.values)
      plt.show()
    • import the train_test_split from sklearn.model_selection
      # Import `train_test_split` from `sklearn.model_selection`
      from sklearn.model_selection import train_test_split
      
      # Specify the data 
      X=wines.ix[:,0:11]
      
      # Specify the target labels and flatten the array 
      y=np.ravel(wines.type)
      
      # Split the data up in train and test sets
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
    • standardize the data
      # Import `StandardScaler` from `sklearn.preprocessing`
      from sklearn.preprocessing import StandardScaler
      
      # Define the scaler 
      scaler = StandardScaler().fit(X_train)
      
      # Scale the train set
      X_train = scaler.transform(X_train)
      
      # Scale the test set
      X_test = scaler.transform(X_test)

    VIII. Rename columns of DataFrame


    目录

    一、基础概念

    二、创建基本对象

    1. Series 对象的几种创建方式
    2. DataFrame 对象的几种创建方式
    3. Series 对象元素的选取方式
    4. DataFrame 对象元素的选取方式
    5. 位置索引(查询)
    6. 自定义索引(查询)
    7. 在有多重索引的情况下进行选取
    8. 布尔索引(查询)

    三、Series 对象的使用实例

    1. 重要属性
    2. 常用方法
    3. 字符串系列方法
    4. 时间系列方法
    5. 相关运算

    四、DataFrame 对象的使用实例

    1. 重要属性
    2. 查看数据
    3. 数据统计
    4. 数据处理
    5. 分组
    6. 添加和删除
    7. 合并
    8. 相关运算
    9. Pandas 其他常用函数
    10. CSV 存取

    一、基础概念

    • import pandas as pd,是 Pandas 库约定的导入方式。
    • Pandas 库的两种重要数据类型:Series 类型(对应一维)和 DataFrame 类型(对应二维)。
    • DataFrame 类型的每一列对应着一个 Series 类型。
    • DataFrame 类型中行和列的概念,大部分方法默认使用的是行(即 axis=0),通过 axis=1 来指定使用列。注意这里的行和列指的是用来计算的部分,如使用不指定 axis 的 count() 时,会把每一列的所有行的值加起来。

    二、创建基本对象

    1. Series 对象的几种创建方式

    # 不指定索引,也会有默认的位置索引(0...n),从 0 开始
    pd.Series(range(5))
    # 加上自定义索引,会和默认索引共存
    pd.Series([9, 8, 7, 6], ['a', 'b', 'c', 'd'])
    # 字典形式创建
    pd.Series({'a':1, 'b':2, 'c':3})
    # 根据索引选择字典中的值,不存在返回 NaN
    pd.Series({'a':8, 'b':9, 'c':7}, ['c', 'b', 'd', 'a'])
    # 和 Numpy 完美兼容
    pd.Series(np.arange(3), ['one', 'two', 'three'])
    
    >>> import pandas as pd    
    >>> pd.Series(range(5))    
    0    0
    1    1
    2    2
    3    3
    4    4
    dtype: int64
    >>> pd.Series([9, 8, 7, 6], ['a', 'b', 'c', 'd'])	    
    a    9
    b    8
    c    7
    d    6
    dtype: int64
    >>> pd.Series({'a':1, 'b':2, 'c':3})    
    a    1
    b    2
    c    3
    dtype: int64
    >>> import numpy as np    
    >>> pd.Series(np.arange(3), ['one', 'two', 'three'])    
    one      0
    two      1
    three    2
    dtype: int32

    2. DataFrame 对象的几种创建方式

    # 用 ndarray 对象创建
    pd.DataFrame(np.arange(10).reshape(2, 5))
    # 用 Series 对象创建
    dt = {
    'one': pd.Series([1, 2, 3], ['a', 'b', 'c']),
    'two': pd.Series([9, 8, 7, 6], ['a', 'b', 'c', 'd']),
    }
    pd.DataFrame(dt)
    # 用字典组成的列表创建
    lst = [{'one':1}, {'one':2}, {'one':3}]
    pd.DataFrame(lst)
    # 指定行列
    dates = pd.date_range('20180101', periods=6)  # 创建一个长度为 6 的时间序列,单位天
    pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
    
    >>> pd.DataFrame(np.arange(10).reshape(2, 5))    
       0  1  2  3  4
    0  0  1  2  3  4
    1  5  6  7  8  9
    >>> dt = {
    	'one': pd.Series([1, 2, 3], ['a', 'b', 'c']),
    	'two': pd.Series([9, 8, 7, 6], ['a', 'b', 'c', 'd'])
    	}    
    >>> pd.DataFrame(dt)	    
       one  two
    a  1.0    9
    b  2.0    8
    c  3.0    7
    d  NaN    6
    >>> lst = [{'one':1}, {'one':2}, {'one':3}]    
    >>> lst	    
    [{'one': 1}, {'one': 2}, {'one': 3}]
    >>> pd.DataFrame(lst)
       one
    0    1
    1    2
    2    3
    >>> dates = pd.date_range('20180101', periods=6)	    
    >>> pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))    
                       A         B         C         D
    2018-01-01 -0.855157 -1.578338  1.225785 -0.114200
    2018-01-02  0.281253 -0.120724 -1.423745 -1.715242
    2018-01-03  1.699892  0.462409 -1.219692  0.870826
    2018-01-04 -1.723124 -0.731188 -0.411660 -0.409501
    2018-01-05 -0.730508  0.216860 -1.342256  2.212581
    2018-01-06 -0.842541 -1.871722 -0.287997 -0.868190 

    3. Series 对象元素的选取方式

    注意位置索引和自定义索引不能混用。

    位置索引

    # 选取第 2 行元素
    s[1]
    # 选取第 2 到第 9 行元素
    s[1:9]
    # 选取第 2 到最后,每隔 2 行的元素
    s[1::2]
    

    自定义索引  

    # 选取 one 行的元素
    s['one']
    # 选取 one 到 three 行元素
    s['one':'three']
    # 选取开头到 three 行,每隔 2 行的元素
    s[:'three':2]
    

    布尔索引  

    # 选取所有 value 小于 10 的 s
    s[s < 10]
    # 选取所有 value 大于等于 10,小于 20 的 s
    s[s.between(10, 20)]
    # 选取所有 value 等于 5 或 10 的 s
    s[s.isin([2, 5])]
    

    4. DataFrame 对象元素的选取方式  

    注意位置索引和自定义索引不能混用。
    要选取列,用这种方式,快很多(但不支持位置索引和切片):

    # 选择 xm 这一列,是 Series 类型
    df['xm']
    # 选择 xm 这一列,是 DataFrame 类型
    df[['xm']]
    # 选择 xm, csrq 两列,是 DataFrame 类型
    df[['xm','csrq']]
    # 列顺序会根据输入顺序返回,所以这种方法可以改变列顺序
    df = df[['csrq', 'xm']]
    

    5. 位置索引

    # 选择第二行所有数据,是 Series 类型
    df.iloc[2]
    # 选择第二行所有数据,是 DataFrame 类型
    df.iloc[[2]]
    # 选择第二列所有数据,是 Series 类型
    df.iloc[:, 2]
    # 选择第二列所有数据,是 DataFrame 类型
    df.iloc[:, [2]]
    # 选择第 1、2、-2、-1 列所有数据,是 DataFrame 类型
    df.iloc[:, [1, 2, -2, -1]]
    # 选择 0 到 2 列所有数据
    df.iloc[:, 0:2]
    # 选择 2 和 3 行,0 到 2 列所有数据
    df.iloc[[2,3], 0:2]
    # 根据位置快速取出数据,获取单个数据推荐这种方法
    df.iat[1, 1]
    
    >>> import numpy as np
    >>> import pandas as pd
    >>> a = np.arange(12).reshape(3, 4)
    >>> a
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    >>> b = pd.DataFrame(a)
    >>> b
       0  1   2   3
    0  0  1   2   3
    1  4  5   6   7
    2  8  9  10  11
    >>> b.iloc[2]
    0     8
    1     9
    2    10
    3    11
    Name: 2, dtype: int32
    >>> b.iloc[[2]]
       0  1   2   3
    2  8  9  10  11
    >>> b.iloc[:, 2]
    0     2
    1     6
    2    10
    Name: 2, dtype: int32
    >>> b.iloc[:, [2]]
        2
    0   2
    1   6
    2  10
    >>> b.iloc[:, [1, 2, -2, -1]]
       1   2   2   3
    0  1   2   2   3
    1  5   6   6   7
    2  9  10  10  11
    >>> b.iloc[:, 0:2]
       0  1
    0  0  1
    1  4  5
    2  8  9
    >>> b.iloc[[1,2], 0:2]
       0  1
    1  4  5
    2  8  9
    >>> b.iat[1, 1]
    5
    

    6. 自定义索引

    # 选择指定行数据,是 Series 类型
    df.loc['top']
    # 选择指定行数据,是 DataFrame 类型
    df.loc[['top']]
    # 选择指定列数据,是 Series 类型(不推荐)
    df.loc[:, 'xm']
    # 选择指定列数据,是 DataFrame 类型(不推荐)
    df.loc[:, ['xm']]
    # 选择多列数据(不推荐)
    df.loc[:, ['bj','xm']]
    # 选择多列之间所有数据,列切片只能用这种方法
    df.loc[:, 'bj':'xb']
    # 选择指定行,指定列数据
    df.loc[['top','count'], 'bj':'xb']
    # 根据自定义索引快速取出数据,获取单个数据推荐这种方法
    df.at['top', 'xm']
    

    7. 在有多重索引的情况下进行选取

    在用 df.set_index() 设置了多个索引的情况下使用。

    # 一级索引,二级索引
    df.loc[('state', 'city')]
    # 上面的省略写法
    df.loc['state', 'city']
    # 同时指定列
    df.loc[('state', 'city'), ['name']]
    

    8. 布尔索引(查询)

      类似 SQL 查询,可以选取需要的内容

    # 选取所有出生日期大于等于 1998 年的数据,这里是字符串比较(直接比较数值查询)
    df[df['csrq']>='1998']
    
    # 选取所有出生日期大于等于 1997 年小于 1999 年的数据(and 关系查询)
    df[(df['csrq']>='1997')&(df['csrq']<'1999')]
    
    # 选取所有出生日期大于等于 1997 年小于 1999 年的数据(数值范围查询)
    df[df['csrq'].between('1997', '1999')]
    
    # 选取所有出生日期大于等于 1997 年或者姓名为张三的数据(or,不同属性的条件查询)
    df[(df['csrq']>='1997')|(df['xm']=='张三')]
    
    # 另一种选取方式(不推荐,实测效率比上面低)
    df[df.csrq>='1998']
    
    # 选择字段值为指定内容的数据(多个选择,类似 or,同一属性多个选择)
    df[df['xm'].isin(['张三','李四'])]
    

    三、Series 对象的使用实例

    1. 重要属性

    # 所有元素的 value,ndarray 类型
    s.values
    # 元素类型
    s.dtype
    # 元素的数量
    s.size
    # 每个元素的大小,字节为单位
    s.itemsize
    # 所有数据占用的大小,字节为单位,等于 `s.size * s.itemsize`
    s.nbytes
    

    2. 常用方法

    # 返回一个去重后的 ndarray 数组
    s.unique()
    # 显示唯一值和计数,dropna=False 代表不包含 NaN
    s.value_counts(dropna=False)
    # 删除第一行,非原地
    s.drop(0)
    # 在行尾添加数据,s 是 Series 对象
    s.append(s)
    # 将 func 作用在 s 所有值上
    s.apply(func)
    # 根据 s 的 value 排序,可传入 ascending 参数决定升序降序
    s.sort_values()
    # 根据 s 的 index 排序,可传入 ascending 参数决定升序降序
    s.sort_index()
    # 改变类型,非原地
    s.astype()
    

    3. 字符串系列方法

    字符串类型在 Pandas 中显示为 object。

    # 和 Python 原生字符串操作基本一致,只不过作用于所有元素
    s.str.xxx()
    # 是否包含字符串,支持通配符,返回 bool 数组
    s.str.contains('Din*')
    # 支持切片,同样作用于所有元素
    s.str[1, -1]
    

    4. 时间系列方法

    先要用 pd.to_datetime(s['time']) 或 s.astype('datetime64[ns]') 把 Series 对象元素类型转成 datetime64[ns] 类型。

    # 取出年月日
    s.dt.date()
    # 取出时间
    s.dt.time()
    # 取出年
    s.dt.year()
    # 取出月
    s.dt.month()
    # 取出日
    s.dt.day()
    # 取出时
    s.dt.hour()
    # 取出分
    s.dt.minute()
    # 取出秒
    s.dt.second()
    

    5. 相关运算

    # 所有元素加 1,原地
    s += 1
    

    其他符号的运算与此类似。

    四、DataFrame 对象的使用实例

    大部分也适用 Series 类型。

    1. 重要属性

    # 查看所有元素的 value
    df.values
    # 查看所有元素的类型
    df.dtypes
    # 查看所有行名,后加 `.tolist()`,可以返回列表
    df.index
    # 重命名行名,所有
    df.index = ['总数', '不同', '最多', '频率']
    # 查看所有列名,后加 `.tolist()`,可以返回列表
    df.columns
    # 重命名列名,所有
    df.columns = ['班级', '姓名', '性别', '出生日期']
    # 重命名列名,指定列,更好
    df.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace = True)
    # 转置后的 df,非原地
    df.T
    
    >>> b.values
    array([[ 0,  1,  2,  3],
           [ 4,  5,  6,  7],
           [ 8,  9, 10, 11]])
    >>> b.dtypes
    0    int32
    1    int32
    2    int32
    3    int32
    dtype: object
    >>> b.index
    RangeIndex(start=0, stop=3, step=1)
    >>> b.columns
    RangeIndex(start=0, stop=4, step=1)
    >>> b.columns.tolist()
    [0, 1, 2, 3]
    >>> b.T
       0  1   2
    0  0  4   8
    1  1  5   9
    2  2  6  10
    3  3  7  11
    

    2. 查看数据

    # 查看 df 前 n 条数据, 默认 5 条
    df.head(n)
    # 查看 df 后 n 条数据, 默认 5 条
    df.tail(n)
    # 随机查看 n 条数据
    df.sample(n)
    # 查看行数和列数
    df.shape
    # 查看索引,数据类型和内存信息
    df.info
    

    3. 数据统计

    默认统计的是行,但大部分可以通过设置参数 axis=1 来计算列。

    # 查看数据统计特征,是 DataFrame 类型,只显示能统计的列
    df.describe()
    # 返回每一列中的非空值的个数
    df.count()
    # 返回每一列的和,无法计算返回空,下同
    df.sum()
    # `numeric_only=True` 代表只计算数字型元素,下同
    df.sum(numeric_only=True)
    # 返回每一列的最大值
    df.max()
    # 返回每一列的最小值
    df.min()
    # 返回最大值所在的自动索引位置
    df.argmax()
    # 返回最小值所在的自动索引位置
    df.argmin()
    # 返回最大值所在的自定义索引位置
    df.idxmax()
    # 返回最小值所在的自定义索引位置
    df.idxmin()
    # 返回每一列的均值
    df.mean()
    # 返回每一列的中位数
    df.median()
    # 返回每一列的方差
    df.var()
    # 返回每一列的标准差
    df.std()
    # 检查 df 中空值,NaN 为 True,否则 False,返回一个布尔数组
    df.isnull()
    # 检查 df 中空值,非 NaN 为 True,否则 False,返回一个布尔数组
    df.notnull()
    # 相关系数
    df.corr()  # 默认 pearson
    df.corr('spearman')
    df.corr('kendall')
    

    4. 数据处理

    • 将字符串直接转为 datetime 类型
    • 直接获取 datetime 中的日期和时间信息
    • 去除重复项(去除重复的 Tweets)
    # 改变列顺序
    df = df[['xm','csrq']]
    # 改变指定列元素类型,非原地
    df.astype({'xh':'int', 'csrq':'datetime64[ns]'})
    # 根据 xm 和 xh 去重,默认保留第一个数据,非原地
    df.drop_duplicates(['xm', 'xh'])
    # 不传入参数,所有列相同才会去重,保留最后一个数据,非原地
    df.drop_duplicates(keep='last')
    # 不保留重复项(求差集),非原地
    df.drop_duplicates(keep=False)
    # 根据 csrq 排序,默认升序,非原地
    df.sort_values(by='csrq')
    # ascending 决定升序降序
    df.sort_values(['col1', 'col2'], ascending=[True, False])
    # 用 'one' 代替所有等于 1 的值
    df.replace(1,'one')
    # 用 'one' 代替 1,用 'three' 代替 3
    df.replace([1,3], ['one','three'])
    # 用 x 替换 df 中所有的空值,非原地
    df.fillna(x)
    # 用 x 替换 df 的 xh 列中所有的空值
    df.fillna({'xh':0})
    # 删除所有包含空值的行
    df.dropna()
    # 删除所有包含空值的列
    df.dropna(axis=1)
    # 删除某列含有空值的行
    df.dropna(subset=['nj'])
    # 设置多索引,并排序索引
    df.set_index(['state', 'city']).sort_index()
    # 把相关函数作用在所有 df 成员上
    df.applymap(func)
    # 根据其他列处理某列
    df.apply(lambda x: func(x['sell sku'], x['shape']), axis = 1)
    

    5. 分组  

    # 根据列分组
    df.groupby(['Country', 'Income'])
    # 聚合,默认情况对分组之后其他列进行聚合
    df.groupby('Country').agg(['min', 'mean', 'max'])
    # 对分组后的部分列进行聚合
    num_agg = {'Age':['min', 'mean', 'max']}
    df.groupby('Country').agg(num_agg)
    

    groupby 可以简单总结为 split,apply,combine,也就是说:

    • split : 先将数据按一个属性分组(得到 DataFrameGroupby / SeriesGroupby)
    • apply : 对每一组数据进行操作(取平均 取中值 取方差 或 自定义函数)
    • combine:将操作后的结果结合起来(得到一个DataFrame 或 Series 或可视化图像)

    6. 添加和删除

    # 假设 cj 列本来不存在,这样会在列尾添加新的一列 cj,值为 s(Series 对象),原地
    df['cj'] = s
    # 添加或修改一个列表在指定行,原地
    df.iloc[0] = lst
    # 在第 1 列位置插入一列 dz(地址),值为 s,原地
    df.insert(0, 'dz', s)
    # 删除单列,并返回删除的列,原地
    df.pop('xm')
    # 删除指定行,非原地
    df.drop(1)
    # 删除指定列,axis=1 指第 2 维(列),axis 默认 0(行),非原地
    df.drop(['xm', 'xh'], axis=1)
    

    7. 合并  

    # 内连接 Inner Join
    output = pd.merge(df1, df2, on='key')
    # 左连接 Left Outer Join
    output = pd.merge(df1, df2, on='key', how='left')
    # 右连接 Right Join
    output = pd.merge(df1, df2, on='key', how='right')
    # 全连接 Full Join
    output = pd.merge(df1, df2, on='key', how='outer')
    
    
    # 在 df 中添加内容为 df2 (必须是 DataFrame 对象)的新列(添加列),非原地
    df.join(df2)
    # 将 df2 中的行添加到 df 的尾部(添加行),非原地
    df.append(df2)
    

    8. 相关运算

    # age 列所有元素加 1,原地
    df['age'] += 1
    
    # ...
    

    还可以调用方法,方法中可以指定运算的维度:

    df.div(df.sum(), axis=0)
    

    9. Pandas 其他常用函数  

    # 将 Series 对象转换成时间类型,可以用相关方法
    pd.to_datetime(s)
    
    # 生成一个时间列表,periods 决定数量,freq 决定单位,比如这里 'D' 是指天
    # 成员是 Timestamp 类型,可以使用相关方法
    pd.date_range('2017-7-27', periods=15, freq='D')
    
    # 判断某个值是否为 NAN
    # 也可判断 df, 返回一个 bool 类型的 df
    pd.isna(df)
    

    10. CSV 存取  

    # 导出数据到 CSV 文件,不包含索引:
    df.to_csv('example.csv', index=False)
    # 从 CSV 文件导入数据:
    pd.read_csv('example.csv')
    

    参考:pandas的to_csv()使用方法

    # 首先查询当前的工作路径:
    import os
    os.getcwd() #获取当前工作路径
    
    # to_csv()是DataFrame类的方法,read_csv()是pandas的方法
    # dt.to_csv() #默认dt是DataFrame的一个实例,参数解释如下
    # 路径 path_or_buf: A string path to the file to write or a StringIO
    dt.to_csv('Result.csv') #相对位置,保存在getwcd()获得的路径下
    dt.to_csv('C:/Users/think/Desktop/Result.csv') #绝对位置
    
    # 分隔符 sep : Field delimiter for the output file (default ”,”)
    dt.to_csv('C:/Users/think/Desktop/Result.csv',sep='?')#使用?分隔需要保存的数据,如果不写,默认是,
    
    # 替换空值 na_rep: A string representation of a missing value (default ‘’)
    dt.to_csv('C:/Users/think/Desktop/Result1.csv',na_rep='NA') #确实值保存为NA,如果不写,默认是空
    
    # 格式 float_format: Format string for floating point numbers
    dt.to_csv('C:/Users/think/Desktop/Result1.csv',float_format='%.2f') #保留两位小数
    
    # 是否保留某列数据 cols: Columns to write (default None)
    dt.to_csv('C:/Users/think/Desktop/Result.csv',columns=['name']) #保存索引列和name列
    
    # 是否保留列名 header: Whether to write out the column names (default True)
    dt.to_csv('C:/Users/think/Desktop/Result.csv',header=0) #不保存列名
    
    # 是否保留行索引 index:  whether to write row (index) names (default True)
    dt.to_csv('C:/Users/think/Desktop/Result1.csv',index=0) #不保存行索引
    

      

  • 相关阅读:
    spring中的bean
    在Eclipse上使用Maven
    类加载机制
    jstack简单使用,定位死循环、线程阻塞、死锁等问题
    “心若冰清,天塌不惊”,道家文化原文欣赏,你值得收藏研读!
    【干货分享】可能是东半球最全的.NET Core跨平台微服务学习资源
    Oracle 查询两个时间段内的所有日期列表
    SQL Server中获取指定时间段内的所有月份
    天气预报接口
    pixel和nexus设备安卓9.0/8.1/7.1.x/6.x WiFi和信号图标出现叉x号或者感叹号的消除办 法
  • 原文地址:https://www.cnblogs.com/alex-bn-lee/p/10553697.html
Copyright © 2011-2022 走看看