可能写的有些杂乱,毕竟是遇到哪个就写了哪个,可以直接看目录,找自己想要的哪个函数.
pandas中,常用的载入函数是read_csv。除此之外还有read_excel和read_table,table可以读取txt。
import pandas as pd
file=pd.read_csv("77.csv",encoding='utf-8')#encoding选择编码方式
file
trname=file['triggername']
trname
#提取某些
#Count=data[['confirmedCount','curedCount']]
data.info()
data.gender.value_counts()
import pandas as pd
#创建一个dataframe变量
df = pd.DataFrame(np.arange(16).reshape(4,4),
index = list('1234'),
columns = list('ABCD'))
print(df)
#删除列
df.drop(['A'], axis = 1,inplace=True)
print(df)
#删除行
df.drop(['1'], axis = 0, inplace = True)
print(df)
data.info()
有关DDataFrame的详细知识 https://www.jianshu.com/p/8024ceef4fe2
demo_df = pd.DataFrame({'Integer Feature': [0, 1, 2, 1],'Categorical Feature': ['socks', 'fox', 'socks', 'box']})
display(demo_df)
np.hstack([X, X_binned])
### 快速浏览数据
有总数,数据类型
```python
file.head(8)
hpbl80NTc1NTMzMg==,size_16,color_FFFFFF,t_70)
只展示是数字数据的特征,总数,均值等等
file.describe()#
查看某一列空值:df.isnull()
file['sysEname'].unique()
file.columns
drop_duplicates函数通过subset参数选择以哪个列为去重基准。keep参数则是保留方式,first是保留第一个,删除后余重复值,last还是删除前面,保留最后一个。duplicated函数功能类似,但它返回的是布尔值。
原来是1543 每个特征只保留一个,就剩下了9
file.drop_duplicates(subset="triggername",keep='first')
np.hstack([X, X_binned])
list(data.columns)
这是提取了age和’occupation_ Transport-moving之间的数据
features = data_dummies.loc[:, 'age':'occupation_ Transport-moving']
如age是int型,age.astype(str) 转换成了字符型
# neHotEncoder和ColumnTransformer:使用scikit-learn的分类变量
from sklearn.preprocessing import OneHotEncoder
#将上面的表格转化成矩阵形式
ohe = OneHotEncoder(sparse=False)
print(ohe.fit_transform(demo_df))
groups=[0,1,2,3,4]
label=['weather','temperature','humidity','wind_direction','wind_speed']
list(enumerate(label))
[(0, 'weather'),
(1, 'temperature'),
(2, 'humidity'),
(3, 'wind_direction'),
(4, 'wind_speed')]
scikit-learn在0.20.0版本中新增了一个 sklearn.compose.ColumnTransformer
类,通过这个类我们可以对输入的特征分别做不同的预处理,并且最终的结果还在一个特征空间里面。
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import StandardScaler
#讲age hours这种连续特征标准化(归一化),其他分类特征热编码
ct = ColumnTransformer(
[("scaling", StandardScaler(), ['age', 'hours-per-week']),
("onehot", OneHotEncoder(sparse=False), ['workclass', 'education', 'gender', 'occupation'])])
json.load
json_dict=json.load(open("xxx.json"))
type(json_dict)
dict
json.dumps(json_dict)
dump
with open("xxx.json","w") as f:
json.dump(new_dict,f)
直接看代码就可以理解
df = pd.DataFrame(np.arange(16).reshape(4,4),columns=['AA','BB','CC','DD'],index =['a','b','c','d'])
df
Out[14]:
AA BB CC DD
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15
#当period为正时,默认是axis = 0轴的设定,向下移动
df.shift(2)
Out[15]:
AA BB CC DD
a NaN NaN NaN NaN
b NaN NaN NaN NaN
c 0.0 1.0 2.0 3.0
d 4.0 5.0 6.0 7.0
#当axis=1,沿水平方向进行移动,正数向右移,负数向左移
df.shift(2,axis = 1)
Out[16]:
AA BB CC DD
a NaN NaN 0.0 1.0
b NaN NaN 4.0 5.0
c NaN NaN 8.0 9.0
d NaN NaN 12.0 13.0
#当period为负时,默认是axis = 0轴的设定,向上移动
df.shift(-1)
Out[17]:
AA BB CC DD
a 4.0 5.0 6.0 7.0
b 8.0 9.0 10.0 11.0
c 12.0 13.0 14.0 15.0
d NaN NaN NaN NaN
freq: DateOffset, timedelta, or time rule string,可选参数,默认值为None,只适用于时间序列,如果这个参数存在,那么会按照参数值移动时间索引,而数据值没有发生变化。
df = pd.DataFrame(np.arange(16).reshape(4,4),columns=['AA','BB','CC','DD'],index =pd.date_range('6/1/2012','6/4/2012'))
df
Out[38]:
AA BB CC DD
2012-06-01 0 1 2 3
2012-06-02 4 5 6 7
2012-06-03 8 9 10 11
2012-06-04 12 13 14 15
df.shift(freq=datetime.timedelta(1))
Out[39]:
AA BB CC DD
2012-06-02 0 1 2 3
2012-06-03 4 5 6 7
2012-06-04 8 9 10 11
2012-06-05 12 13 14 15
df.shift(freq=datetime.timedelta(-2))
Out[40]:
AA BB CC DD
2012-05-30 0 1 2 3
2012-05-31 4 5 6 7
2012-06-01 8 9 10 11
2012-06-02 12 13 14 15
能够一次完成多个数组的拼接。其中a1,a2,…是数组类型的参数
>>> a=np.array([1,2,3])
>>> b=np.array([11,22,33])
>>> c=np.array([44,55,66])
>>> np.concatenate((a,b,c),axis=0) # 默认情况下,axis=0可以不写
array([ 1, 2, 3, 11, 22, 33, 44, 55, 66]) #对于一维数组拼接,axis的值不影响最后的结果
>>> a=np.array([[1,2,3],[4,5,6]])
>>> b=np.array([[11,21,31],[7,8,9]])
>>> np.concatenate((a,b),axis=0)
array([[ 1, 2, 3],
[ 4, 5, 6],
[11, 21, 31],
[ 7, 8, 9]])
>>> np.concatenate((a,b),axis=1) #axis=1表示对应行的数组进行拼接
array([[ 1, 2, 3, 11, 21, 31],
[ 4, 5, 6, 7, 8, 9]])
X=scaler.inverse_transform(X[, copy])
将标准化后的数据转换为原始数据。
X=pca.inverse_transform(newX)
将降维后的数据转换成原始数据