Pandas

作者: 逍遥_yjz | 来源:发表于2020-09-01 16:41 被阅读0次

0. 添加一列数据

# 读取指定列索引字段的数据
csv_data = pd.read_csv("../newTxt/testResult_index.csv")
baseline_time = csv_data['baseline_time']
rainfall_num = csv_data['rainfall_num'] + 0
print(csv_data.head(10))
print(rainfall_num)

id_L = np.arange(len(csv_data)) + 1
data = pd.DataFrame({"id":id_L,"baseline_time":baseline_time,"rainfall_num":rainfall_num})


data.to_csv('../newTxt/testResult_id_day_0.csv',index=None)

1. 一行一行存储到csv

    write_clo = ["Source", "Target", "Type", "Path"]
    df = pd.DataFrame(columns=(write_clo))
    fileName = 'txt/test2.csv'
    df.to_csv(fileName, encoding='utf8')
    for i in range(10):
        df.columns = [['第一列', '第二列', '第三列', '第四列'],['第1列', '第2列', '第3列', '第4列']]
        # df.columns = ['第一列', '第二列', '第三列', '第四列']
        fileName = 'txt/test2.csv'
        df.to_csv(fileName, mode='a', encoding='utf8')

结果显示

,Source,Target,Type,Path
,第一列,第二列,第三列,第四列
,第1列,第2列,第3列,第4列
,第一列,第二列,第三列,第四列
,第1列,第2列,第3列,第4列
,第一列,第二列,第三列,第四列
,第1列,第2列,第3列,第4列
,第一列,第二列,第三列,第四列
,第1列,第2列,第3列,第4列
,第一列,第二列,第三列,第四列
,第1列,第2列,第3列,第4列

2. panda读取时间数据等

    cols = ['stcd', 'tm', 'year_id', 'day_id', 'drp', 'intv', 'dyp']
    #读取整个csv文件
    csv_data = pd.read_csv("txt/data.csv",usecols=cols)
    # 根据元素值找到索引值
    index_value = csv_data[csv_data['year_id'] == 2004].index.tolist()
    #print(index_value) [164, 165, 166, 167, 168, 169, 170, 171.....
    # 根据索引值截取数据,重新设置索引值从0开始
    end_data = csv_data.iloc[165:,].reset_index(drop=True)
    print(end_data.head(10))
    #print(end_data['intv'][0], end_data['dyp'][0])
    # # 判断panda里空的数据是何类型
    # unknownType = end_data['dyp'][0]
    # print(type(unknownType)) # <class 'numpy.float64'>
    # # 判断是否是NaN
    # print(pd.isnull(unknownType)) # True
    print('----------------')
    # 如果你知道NaN值代表0,那么你可以fillna()函数将他们替换成0:
    # end_data = end_data.dyp.fillna(0)
    # print(end_data)

3. to_csv()是DataFrame类的方法,read_csv()是pandas的方法

1.首先查询当前的工作路径:

import os
os.getcwd() #获取当前工作路径
2.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) #不保存行索引
data2 = pd.DataFrame({"baseline_time2": date_list2, "rainfall_num2": denoised_index})
fileName = '../data/huanchong_forecast.csv'
data2.to_csv(fileName, index=None)

csv_data = pd.read_csv(fileName, index_col=0, parse_dates=['baseline_time2'])
pre = csv_data['rainfall_num2']
  1. 0个Python Pandas技巧

相关文章

网友评论

      本文标题:Pandas

      本文链接:https://www.haomeiwen.com/subject/qplunqtx.html