pandas-如何替换数据框中的行
pandas-how can I replace rows in a dataframe
我是 Python 的新手,尝试替换行。
我有一个数据框,例如:
X
Y
1
a
2
d
3
c
4
a
5
b
6
e
7
a
8
b
我有两个问题:
1- 如何将第 2 行替换为第 5 行,例如:
X
Y
1
a
5
b
3
c
4
a
2
d
6
e
7
a
8
b
2-如何将第6行放在第3行之上,例如:
X
Y
1
a
2
d
6
e
3
c
4
a
5
b
7
a
8
b
第一次使用 DataFrame.iloc
,python 从 0
开始计算,因此 select 第二行使用 1
,第五次使用 4
:
df.iloc[[1, 4]] = df.iloc[[4, 1]]
print (df)
X Y
0 1 a
1 5 b
2 3 c
3 4 a
4 2 d
5 6 e
6 7 a
7 8 b
然后 rename
索引以上值,此处 1
并仅使用稳定排序 mergesort
:
df = df.rename({5:1}).sort_index(kind='mergesort', ignore_index=True)
print (df)
X Y
0 1 a
1 2 d
2 6 e
3 3 c
4 4 a
5 5 b
6 7 a
7 8 b
我是 Python 的新手,尝试替换行。
我有一个数据框,例如:
X | Y |
---|---|
1 | a |
2 | d |
3 | c |
4 | a |
5 | b |
6 | e |
7 | a |
8 | b |
我有两个问题:
1- 如何将第 2 行替换为第 5 行,例如:
X | Y |
---|---|
1 | a |
5 | b |
3 | c |
4 | a |
2 | d |
6 | e |
7 | a |
8 | b |
2-如何将第6行放在第3行之上,例如:
X | Y |
---|---|
1 | a |
2 | d |
6 | e |
3 | c |
4 | a |
5 | b |
7 | a |
8 | b |
第一次使用 DataFrame.iloc
,python 从 0
开始计算,因此 select 第二行使用 1
,第五次使用 4
:
df.iloc[[1, 4]] = df.iloc[[4, 1]]
print (df)
X Y
0 1 a
1 5 b
2 3 c
3 4 a
4 2 d
5 6 e
6 7 a
7 8 b
然后 rename
索引以上值,此处 1
并仅使用稳定排序 mergesort
:
df = df.rename({5:1}).sort_index(kind='mergesort', ignore_index=True)
print (df)
X Y
0 1 a
1 2 d
2 6 e
3 3 c
4 4 a
5 5 b
6 7 a
7 8 b