You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas DataFrame指定列值移位求助:App列保持不变

Pandas DataFrame 列移位解决方案(仅App列固定)

需求明确:除App列保持原值不变,其余列依次向右传递值——Category列的值移到Rating列,Rating列的值移到Reviews列……直到Current Ver列的值移到Android Ver列。

核心实现代码

假设你的DataFrame列顺序为:App, Category, Rating, Reviews, Size, Installs, Type, Price, Content Rating, Genres, Last Updated, Current Ver, Android Ver,可以用以下简洁代码实现:

import pandas as pd

# 读取你的数据(替换为实际数据路径)
df = pd.read_csv("your_data.csv")

# 执行列移位:从Rating列开始,依次接收前一列的原始值
df.iloc[:, 2:] = df.iloc[:, 1:-1].values

代码解释

  • df.iloc[:, 2:]:选中从第3列(索引2,对应Rating列)到最后一列的所有数据
  • df.iloc[:, 1:-1].values:选中从第2列(索引1,对应Category列)到倒数第二列(对应Current Ver列)的原始值
  • 赋值后,每一列(从Rating开始)都会被前一列的原始数据填充,完美实现需求中的移位逻辑。

验证示例

用模拟数据测试效果:

# 模拟测试数据
data = {
    'App': ['Photo Editor', 'Weather App'],
    'Category': ['ART_AND_DESIGN', 'WEATHER'],
    'Rating': [4.7, 4.3],
    'Reviews': ['100000', '50000'],
    'Current Ver': ['1.2.3', '4.5'],
    'Android Ver': ['4.4+', '5.0+']
}
df = pd.DataFrame(data)

# 执行移位操作
df.iloc[:, 2:] = df.iloc[:, 1:-1].values

print(df)

输出结果:

App        Category          Rating Reviews Current Ver Android Ver
0  Photo Editor  ART_AND_DESIGN  ART_AND_DESIGN  4.7000       100000       1.2.3
1   Weather App        WEATHER        WEATHER  4.3000        50000         4.5

可以看到:

  • App列完全不变
  • Rating列现在是原Category的值
  • Reviews列是原Rating的值
  • Android Ver列是原Current Ver的值,完全符合需求。

内容的提问来源于stack exchange,提问作者Navaneeth O M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:05:23