Python——各种方法的使用(尽量每天更新)——from(数据挖掘课)

一、读取数据

1.在同一项目下,可以用:".\XXX"

data=pd.read_csv(“.\XXX.dat,header=None”)#表示无表头

2.pandas直接读取数据之后为DataFrame类型(data)

只要列数一样就可以调用

data.columns=['XXX','XXX']

 二、使代码写起来简单的计算方法

1.shape:可以利用这个函数进行数据的便利,返回值位长度(整数数值)就不用len(XX)了

data.shape[0]#表示第一维的长度,也就是行数,.shape[0]表示有多少行

data.shape[1]#表示第二维的长度,也就是列数,.shape[1]表示有多少列

 2.DateFrame类型的迷点

data.iloc[X:Y,x:y]#逗号前表示的范围,逗号后表示的范围:且左闭右开

data.apply(np.mean,axis =0)#axis =0,列,axis =1行取平均值

data[x][y]#x表示列,x表示第几行

 

type(data["Buying"])#pandas.core.series.Series
type(data[["Buying"]])# pandas.core.frame.DataFrame
type(data_test.iloc[:,6])# pandas.core.series.Series
type(data_test.loc[:, "label"].values)#numpy.ndarray

​

dates = pd.date_range('20130101', periods=6)#时间索引
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))#DataFrame类型数据
print(df.loc[dates[0]])

3.apply函数——>apply+lambad

 

我来画个瓢:

type(data_test["label"].apply(lambda x:1 if x=="vgood" else 0))
Out[4]: pandas.core.series.Series
type(data_test["label"])
Out[5]: pandas.core.series.Series

 注意:要把它赋值给原来的数据才会改变大的DataFrame类型,虽然pycharm给我警告,但还是改过来了。有病病。。。

以下是警告:

SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

意思是:

设置带复制警告:

A value is trying to be set on a copy of a slice from a DataFrame.

试图在数据帧的切片副本上设置值。

Try using .loc[row_indexer,col_indexer] = value instead

请尝试改用.loc[row\u indexer,col\u indexer]=value

好吧,貌似是有点不符合规范,按照他的改

loc[行,列名]//iloc[行,列]

data_test.loc[:,"label"]=data_test.loc[:,"label"].apply(lambda x:1 if x=="vgood" else 0)

以下是葫芦:

def bin_age(age):
    if age >=18:
        return 1
    else:
        return 0

df1['age'].apply(bin_age)

二分类判断:

df1['age'].apply(lambda x : 1 if x >18 else 0)

 

 

 三、注意事项:

在if  __name__='__name__':之下调用的函数必须在他上面才会被识别


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值