记录这段时间Python学习时常用的一些代码2

  1. 对行列的索引
X = iris_1['data'][:,[0,2]]

取iris_1中data的未知行数,第1第3列

    2.为数据增加列名

X=pd.DataFrame(X)

Y=pd.DataFrame(Y)

X.columns=["Sepal length","petal length"]

Y.columns=["target"]

在增加列名时一般使用columns函数,因此需要把数据转换为Dataframe

    3.loc()函数取某几列的值

train_data1 = train_data.loc[:,['Survived','Pclass','Sex','Embarked']]

取未知行数,列名为'Survived','Pclass','Sex','Embarked'的几列,其中取多列使用[]

或者通过drop()函数删除

train_data1=train_data.drop(['PassengerId','Name','Age','SibSp','Parch','Ticket','Fare','Cabin'],axis=1)

注意axis=1不能少

    4.当数据中出现NaN时,进行替换

#train_data1.fillna(1,inplace=True)###处理非常粗糙

是对数据中所有的值进行索引判断是否为nan

train_data1['Embarked']=train_data1['Embarked'].apply(lambda x: x if x == x else 'Q')

#将enbarked列中的 nan值 替换为 ‘Q’,因为x if x == x判断nan,nan不等于nan

    5.对数据进行替换

因为进行数据分析时,数据中的字符串的表示不能直接用,需要进行转换

train_data1.Sex[train_data1['Sex']=='male']=0

train_data1.Sex[train_data1['Sex']=='female']=1

train_data1.Embarked[train_data1['Embarked']=='Q']=1

train_data1.Embarked[train_data1['Embarked']=='C']=2

train_data1.Embarked[train_data1['Embarked']=='S']=3

   6.取数据作图

setosa=plt.scatter(X.loc[:,"Sepal length"][Y==0],
				   X.loc[:,"petal length"][Y==0], 
				   color='red', marker='o', label='setosa') 
plt.legend(loc=2) 

取的数据都是Y=0时对应不同特征的值,plt.legend(loc=2) 中的loc参数可以控制图例的位置,loc=2为左上角

plt.scatter(x0[:, 0], x0[:, 1], c="red", marker='o', label='label0') 
plt.scatter(x1[:, 0], x1[:, 1], c="green", marker='*', label='label1') 
plt.scatter(x2[:, 0], x2[:, 1], c="blue", marker='+', label='label2') 

marker='+',还可以改变图中标记的形状

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是 Python 中的冒泡排序代码: ```python def bubble_sort(nums): # 对列表进行冒泡排序 for i in range(len(nums) - 1): for j in range(len(nums) - 1 - i): if nums[j] > nums[j + 1]: # 交换位置 nums[j], nums[j + 1] = nums[j + 1], nums[j] return nums # 测试 print(bubble_sort([3, 2, 1])) # 输出 [1, 2, 3] ``` 冒泡排序的基本思想是:对于给定的一组记录,依次比较相邻的两条记录,如果顺序错误就交换位置,直到没有需要交换的记录为止。 该算法的间复杂度为 O(n^2)。 ### 回答2: 冒泡排序是一种简单且常用的排序算法,其基本思想是通过不断比较相邻元素并交换位置来达到排序的目的。下面是用Python编写的冒泡排序的代码: ```python def bubble_sort(arr): n = len(arr) for i in range(n - 1): for j in range(n - i - 1): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] return arr ``` 以上代码中的`bubble_sort`函数接受一个列表作为输入,并返回排序后的列表。 在主循环中,使用两个for循环来遍历要排序的列表。外层循环控制每一轮遍历,内层循环用于比较相邻元素。如果发现前一个元素大于后一个元素,则交换它们的位置。 经过多轮遍历,列表中最大的元素将被逐渐交换到列表的末尾,直到最后一个元素也被放置在合适的位置。 最后,函数返回排序后的列表。 你可以通过调用`bubble_sort`函数并传入一个待排序的列表来进行测试,例如: ```python unsorted_list = [5, 3, 8, 1, 2] sorted_list = bubble_sort(unsorted_list) print(sorted_list) # 输出:[1, 2, 3, 5, 8] ``` 以上代码会将`unsorted_list`列表进行冒泡排序,并将排序后的结果打印输出。结果为`[1, 2, 3, 5, 8]`。 ### 回答3: 冒泡排序是一种简单的排序算法,其思想是反复比较相邻的两个元素,如果顺序错误就交换位置,直到整个序列都有序为止。 下面是用Python写的冒泡排序的代码: ```python def bubble_sort(arr): n = len(arr) for i in range(n-1): # 每一轮排序都能找到最大的元素并放到最后 for j in range(n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr # 测试样例 arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = bubble_sort(arr) print('排序后的数组:') for i in range(len(sorted_arr)): print(sorted_arr[i], end=" ") ``` 这段代码中,`bubble_sort`函数实现了冒泡排序算法。算法的核心部分是两层嵌套的循环,外层循环控制比较和交换的轮数,内层循环用于执行具体的比较和交换操作。通过比较相邻元素的大小,并根据需要进行交换,逐渐将最大的元素移动到最后。内层循环每执行一轮,最大的元素就会像气泡一样冒到最后。最后,整个序列就会有序。 测试样例中,将一个无序数组传入`bubble_sort`函数进行排序,并将排序后的结果打印出来。输出结果为:11 12 22 25 34 64 90,即排序后的数组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值