一、test.csv数据
name,position,camp,price
6Ezreal,ADC,Piltover,1.23
6Vi,JUN,Piltover,3.45
0Jayce,TOP,Piltover,4.66
0Zed,MID,Ionia,5.77
6Xayah,ADC,Ionia,3.56
0Thresh,SUP,Shadow Isles,2.34
二、pandas数据处理逻辑代码片段
import pandas as pd
import decimal
# 忽略警告信息
pd.set_option('mode.chained_assignment',None)
test_csv = pd.read_csv('./test.csv')
# 添加列date
lb1 = pd.DataFrame({
'date': [1470195805, 1480195805, 1674725925,1470195805, 1480195805, 1674725925]})
data_l = pd.DataFrame(lb1)
test_csv = pd.concat([test_csv,data_l],axis=1)
#复制备份
test_csv_cp = test_csv.copy()
#name 以6开头添加sh.前缀,以0开头添加sz.前缀
for i in range(len(test_csv_cp['name'])):
if test_csv_cp['name'][i].startswith('6'):
test_csv_cp['name'][i] = 'sh.'+test_csv_cp['name'][i]
if test_csv_cp['name'][i].startswith('0'):
test_csv_cp['name'][i] = 'sz.'+test_csv_cp['name'][i]
#转换时间戳为YYYYMMDD格式
test_csv_cp['day']=pd.to_datetime(test_csv_cp['date'],unit='s')
#price_diff为price的向下偏移一位
test_csv_cp['price_diff'] = test_csv_cp['price'].shift(1)
#计算偏移后的price与原有price的差值
test_csv_cp['price_diff'] = round(test_csv_cp['price'] - test_csv_cp['price_diff'],2)
#拼接完的frame打印到33.csv
print(test_csv_cp.to_csv('./33.csv'))