项目场景:
新手记录,每次来复制就好了,免得每次都要去搜。
重要语法:
1.csv读取:
data= pd.read_csv(pathname, header=0, encoding="gbk")
data = pd.read_csv(pathname, sep=';',index_col='datetime', parse_dates=True).drop(['changepoint'], axis=1)
2.转成datafram格式
from pandas import DataFrame
df = DataFrame(data)
3.删除列
df= data.drop(['ts', 'value'], axis=1)###按照列名删除列
df = df.drop(df.columns[[0]], axis=1)###按照索引删除列,删除第0列
4.插入列
df.insert(0, 'attack', labels)
###在第0列的位置插入列名为sttack,值为labels的一列
df.insert(loc=0, column='idx', value=np.arange(len(df)))####插入索引列
5.dataframe拼接(合并与重塑)
df = pd.concat([df1,df2], axis=1, join='inner', ignore_index=True)###列对齐,忽略行索引
df = pd.concat([df1,df2])#相同字段的表首尾相接,简单粗暴
df = pd.concat([df1, df2], axis=1)#横向拼接,行对齐
其他concat方法参考链接:https://blog.csdn.net/mr_hhh/article/details/79488445
6.特征相关性分析
###相关性分析
pathname1 = './generated_/train.csv'
train_car = pd.read_csv(pathname1, header=0, encoding="gbk")
df_train_car = DataFrame(train_car)
df_train_car = df_train_car.drop(df_train_car.columns[[0]], axis=1)
correlations = df_train_car.corr()
sns.heatmap(correlations)
plt.show()
print(correlations)
7.将dataframe保存为csv文件至指定路径
dataframe.to_csv('./generated_' + '/df.csv',index = False)###不保存索引
8.按照某一列去重
df.drop_duplicates(subset=['TimeStamp'],keep='first',inplace=True)###重复值保存第一个
9.获取路径
filedir = os.path.join(dir, 'label', 'light_warning_code.xlsx').replace("\\", "/")
10.将dataframe转换成torch.tensor
tensor = torch.Tensor(np.array(dataframe))##dataframe转成 torch.tensor
11.将dataframe行打乱
from sklearn.utils import shuffle
df = shuffle(df)
12.获取某一列的值
data[data.columns[0]].values
获取列值并转化成list
data[data.columns[0]].values.tolist()
13.查看表头
df.columns
14.获取指定行
df_ = df.iloc[:550]
获取指定行并删除指定列
df_ = df.iloc[:550].drop(['anomaly'], axis=1)