23.5.26:显示和修改DataFrame列名,并将一列拆分成两列,为同一列的每行增加字符串

 显示和修改DataFrame列名

print(df.columns)  # 显示df的列名
df.columns = ['data_date','最高温度','最低温度','天气','风速等级']  #修改df列名为指定列名
print(df.columns) 

# 删除df中指定列名
data = df.drop(columns=['天气','风速等级'],axis=1,inplace=False) 
# axis=1 代表删除的是列,默认为行(0),inplace=False代表不修改df的源数据,True代表修改

 拆分列

拆分一列为多列

要将一列数据拆分为两列数据,可以使用pandas的split函数或str.split方法。这将根据指定的分隔符将列中的字符串拆分为多个部分,并创建两个新的列。

data[['data_date','节假日']] = data['date'].str.split(' ',1,expand=True)  # 参数“1”表示最多拆分成两列,expend=True用于展示拆分后的结果为两列
print(data)
  •  

拆分多列为多列 

 如果有多列需要拆分,可以使用str.split方法配合pandas的apply函数来处理每一列。

apply函数是pandas中的一个重要函数,用于在DataFrame或Series上应用自定义函数或匿名函数。

apply函数的基本语法是:

apply(func, axis=0, args=(), **kwargs)
  • func是要应用的函数,可以是自定义函数或匿名函数。
  • axis指定了函数应用的轴方向,0表示按列应用函数,1表示按行应用函数。
  • args**kwargs是传递给函数的其他参数。
import pandas as pd

# 创建示例DataFrame
data = {'Name': ['John Smith', 'Jane Doe', 'Mark Johnson'],
        'Age': ['30 years', '25 years', '35 years'],
        'Location': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)

# 定义拆分函数
def split_column(column):
    # 使用str.split()函数拆分列,expand=True表示将拆分结果展开为新的列
    # rename()函数用于对拆分后的列进行重命名
    return column.str.split(' ', expand=True).rename(columns={0: 'First Name', 1: 'Last Name'})

# 对每一列应用拆分函数,并将拆分结果赋值给新的列
df[['First Name', 'Last Name']] = split_column(df['Name'])
df[['Age Value', 'Age Unit']] = split_column(df['Age'])

# 查看拆分后的DataFrame
print(df)

为同列的每行增加相同字符串

要为每行增加字符,你可以使用 apply 方法来遍历 DataFrame 的每一行,并对每一行进行操作。下面是一个示例代码,演示如何为每行增加字符:

# 为data_date列增加字符串(使用apply函数)
suffix = ' 00:00:00'      # 定义要添加的字符
data_new['data_date'] = data_new['data_date'].apply(lambda x: x+suffix)    # 使用apply方法为每行增加字符
print(data_new)

我们将字符 ' 00:00:00' 添加到 data_date 列的每个元素后面。apply 方法接受一个函数作为参数,我们使用 lambda 函数来将字符添加到每个元素后面。然后,我们将结果赋值回原来的列 data_date

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用split函数将一个拆分两列。首先,使用split函数将的值按照指定的分隔符进行拆分,设置参数expand为True可以将结果转换为DataFrame。然后,使用drop函数删除原来的。以下是一个示例代码: ```python df[['a', 'b']] = df['row'].str.split(' ', expand=True) df.drop(axis=1, columns='row', inplace=True) ``` 在这个例子中,将名为'row'的按空格进行拆分,并将拆分后的结果分别赋值给新的两列'a'和'b'。最后,使用drop函数删除原来的'row'。 for j in df3_new['migrate']] l2 = [list(k)[1 for k in df3_new['migrate']] df3_new['地区'] = l1 df3_new['city'] = l2 df3_new1 = df3_new.drop('migrate', axis=1) ``` 在这个例子中,我们使用循环遍历df3_new中的每一行,并使用表解析将'migrate'中的元组拆分两个表'l1'和'l2'。然后,将这两个表分别赋值给新的两列'地区'和'city'。最后,使用drop函数删除原来的'migrate',并将结果保存到df3_new1中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python PandasDataFrame 一列切分、分隔符切分选字段](https://blog.csdn.net/baidu_40468340/article/details/128263235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [DataFrame 中某一列是元组形式拆两列](https://blog.csdn.net/weixin_42080294/article/details/89318899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Dataframe一列分割](https://blog.csdn.net/weixin_46599926/article/details/122985897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值