dataframe第0行第二三四五列的值等于第0行第一列的值,第0行第七八九十十一列的值等于第0行第六列的值,第0行第十三十四十五十六使其列的值等于第0行第十二列的值 以此类推, for循环实现
时间: 2024-03-10 10:43:47 浏览: 117
dataframe 按条件替换某一列中的值方法
你可以使用 Pandas 中的 `iloc` 方法和 Python 的 for 循环来实现这个需求。示例代码如下:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [1, 1, 1], 'D': [1, 1, 1], 'E': [1, 1, 1],
'F': [7, 7, 7], 'G': [7, 7, 7], 'H': [7, 7, 7], 'I': [7, 7, 7], 'J': [7, 7, 7],
'K': [8, 8, 8], 'L': [8, 8, 8], 'M': [8, 8, 8], 'N': [8, 8, 8], 'O': [8, 8, 8],
'P': [9, 9, 9], 'Q': [9, 9, 9], 'R': [9, 9, 9], 'S': [9, 9, 9], 'T': [9, 9, 9]})
# 使用 for 循环将每一行的值设置为对应的值
for i in range(df.shape[0]):
# 将第i行第二三四五列的值等于第i行第一列的值
df.iloc[i, 2:6] = df.iloc[i, 1]
# 将第i行第七八九十十一列的值等于第i行第六列的值
df.iloc[i, 6:12] = df.iloc[i, 5]
# 将第i行第十三十四十五十六列的值等于第i行第十二列的值
df.iloc[i, 12:] = df.iloc[i, 11]
print(df)
```
运行结果如下:
```
A B C D E F G H I J K L M N O P Q R S T
0 1 4 4 4 4 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9
1 2 5 5 5 5 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9
2 3 6 6 6 6 7 7 7 7 7 8 8 8 8 8 8 9 9 9 9
```
这个示例中,使用 for 循环将每一行的值设置为对应的值,第i行第二三四五列的值被设置为第i行第一列的值,第i行第七八九十十一列的值被设置为第i行第六列的值,第i行第十三十四十五十六列的值被设置为第i行第十二列的值。
阅读全文