python - pandas 将一列的所有值替换为从 0 开始以 n 递增的列值
问题描述
假设我有一个数据框,所以我从文件中读取(注意:* .ene 是一个 txt 文件)
df = pd.read_fwf('filename.ene')
TS DENSITY STATS
1
2
3
1
2
3
我只想更改 TS 列。我希望用范围(0,751,125)中的值替换“TS”的所有列值。所需的输出应如下所示:
TS DENSITY STATS
0
125
250
500
625
750
我有点迷茫,想了解有关以通用格式执行此类操作的代码的一些见解。我使用 for 循环将值存储到列表中:
K=(6*125)+1
m = []
for i in range(0,K,125):
m.append(i)
我想像这样使用 .replace :
df['TS']=df['TS'].replace(old_value, m, inplace=True)
但不确定用什么代替 old_value 来选择“TS”列的所有值,或者这是否可以作为一种方法。
解决方案
这很简单,如果你要替换所有你需要做的数据
df['TS'] =m
例子 :
import pandas as pd
data = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
df = pd.DataFrame(data, index=[0, 1, 2], columns=['a', 'b', 'c'])
print(df)
# a b c
# 0 10 20 30
# 1 40 50 60
# 2 70 80 90
df['a'] = [1,2,3]
print(df)
# a b c
# 0 1 20 30
# 1 2 50 60
# 2 3 80 90
推荐阅读
- angular - 类型“用户 []”上不存在属性“角色”
- python - 来自带有分类数据和自定义“箱”的熊猫数据框列的直方图/值计数
- arrays - Powershell - 加入嵌套的字符串数组
- scala - Squeryl - 无法映射 - 在带有子查询的左外连接上
- c++ - 为什么我的代码与 cout 有问题<
代码中有问题
main
。cout<<num0-num1;
当我单独或单独尝试时cout<<num0+num1;
,它们工作得很好,但是当我一起做时,代码只是停止打印其中一个,其余代码停止。我的意思是:如果我把主要写成:java - 如何在Java中使用正则表达式从原始字符串中删除某些字符串
- flutter - Flutter Web - 带有 ListView 的滚动条 - _positions.isNotEmpty“滚动控制器未附加到任何滚动视图
- validation - 在验证期间添加参数 - Lighthouse
- python - Discord py - 覆盖不影响频道的权限
- php - 使用 php 将数组传递给 wsdl 文件无法正常工作