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']
网友评论