pandas基础-列表推导式与条件赋值

知识点:

1、列表推导式

基本形式:[* for i in *]

第一个 * 为映射函数,第二 * 为可迭代对象。

映射函数可以使用函数定义、匿名函数等。

可迭代对象分为列表、元组、字典、集合、字符串等。

那么再复杂的列表推导式也不过是两者的组合。

# 1、最简单形式:生成
list1 = [ i for i in [1, 2, 3,  4, 5, 6, 7]]

# 2、进一步简化:将[1, 2, 3,  4, 5, 6, 7]使用range(1, 8)进行替代

list1 = [i for i in range(1, 8)]

# 3、对i进行平方再加1

list1 = [i**2+1 for i in range(1, 8)]

2、条件表达式

基本形式:value = a if condition else b

例如:

value =  'a' if 2>1 else 'b'

condition可以根据实际需求进行设定

例子积累:

1、列表推导式支持多层嵌套

list1 = [m+'_'+n  for m in ['a', 'b'] for n in ['1', '2'] ]

结果显示:

['a_1', 'a_2', 'b_1', 'b_2']

2、列表推导式与条件赋值进行结合

# 将1~100中的数筛选出偶数,并对奇数进行删除
list1 = [ a if a%2==0 for 'a' in range(1, 101)]
for i in list1:
	if i == 'a':
		list1.remove(i)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用 `pandas` 将一列的值赋值给一个新的 `DataFrame` 的方法是: ``` import pandas as pd # 创建一个示例 DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 将列 'A' 的值赋值给新的 DataFrame new_df = pd.DataFrame(df['A']) # 打印新的 DataFrame print(new_df) ``` 输出结果如下: ``` A 0 1 1 2 2 3 ``` 你也可以使用列表推导式来完成同样的操作: ``` import pandas as pd # 创建一个示例 DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}) # 将列 'A' 的值赋值给新的 DataFrame new_df = pd.DataFrame([row for row in df['A']]) # 打印新的 DataFrame print(new_df) ``` 输出结果同上。 ### 回答2: 在pandas里,要将某一列的值赋值给一个新的dataFrame,可以使用DataFrame的copy()方法。 首先,假设我们有一个原始的dataFrame df,其中包含了多个列。要将其中的某一列赋值给一个新的dataFrame new_df,可以按照以下步骤进行操作: 1. 使用df[column]来选择要赋值的列,其中column是要选择的列的名称。 2. 使用copy()方法将所选列的值赋值给新的dataFrame,即new_df = df[column].copy()。 3. 现在,new_df就是一个新的dataFrame,其中包含了原始dataFrame中所选列的所有值。 下面是一个示例代码: ```python import pandas as pd # 假设有一个包含多个列的dataFrame df df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]}) # 将列'A'的值赋值给新的dataFrame new_df new_df = df['A'].copy() # 打印新的dataFrame new_df print(new_df) ``` 运行以上代码,将得到以下输出: ``` 0 1 1 2 2 3 3 4 Name: A, dtype: int64 ``` 这里,new_df是一个新的dataFrame,包含了原始dataFrame df中列'A'的所有值。 ### 回答3: 在pandas中,可以通过使用`DataFrame`的`copy`方法,将某一列的值赋值给一个新的`DataFrame`。 例如,假设有一个原始的`DataFrame`,包含以下几列数据: ``` A B C 0 1 2 3 1 4 5 6 2 7 8 9 ``` 如果我们想要将列A的值赋值给一个新的`DataFrame`,可以使用以下代码: ```python import pandas as pd # 创建原始的DataFrame df = pd.DataFrame({'A': [1, 4, 7], 'B': [2, 5, 8], 'C': [3, 6, 9]}) # 将列A的值赋值给新的DataFrame new_df = df['A'].copy() ``` 这样,新的`DataFrame`将会包含以下数据: ``` 0 1 1 4 2 7 Name: A, dtype: int64 ``` 需要注意的是,使用`copy`方法将某一列的值赋值给新的`DataFrame`时,会创建一个新的`Series`,而不是一个完整的`DataFrame`。如果想要将其转换为`DataFrame`,可以使用`to_frame`方法: ```python new_df = df['A'].copy().to_frame() ``` 这样,新的`DataFrame`将会包含以下数据: ``` A 0 1 1 4 2 7 ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值