【发布时间】:2019-08-26 18:28:06
【问题描述】:
给定以下 pandas df:
import pandas as pd
df = pd.DataFrame({'1676' : ['R','NR','R','NR'],
'1677' : ["NR", "NR" ,"NR", "NR"],
'1710' : ["R", "R" , "NR", "NR"],
'1536' : ["NR", "R", "NR", "R"]})
df
1676 1677 1710 1536
0 R NR R NR
1 NR NR R R
2 R NR NR NR
3 NR NR NR R
还有这个更长的熊猫df2:
df2 = pd.DataFrame({'1' : ['1710','1676','2651','1676'],
'2' : ["2654", "2824" ,"1676", "1677"],
'3' : ["1676", "3079" , "1677", "2085"],
'4' : ["1536", "1677", "1409", "1536"],
'5' : ["510", "1710" , "1664", "1710"],
'6' : ["2590", "3090" , "2252", "2916"],
'7' : ["2777", "1536" , "1710", "3140"],
'8' : ["1677", "1709" , "1536", "1963"]})
1 2 3 4 5 6 7 8
0 1710 2654 1676 1536 510 2590 2777 1677
1 1676 2824 3079 1677 1710 3090 1536 1709
2 2651 1676 1677 1409 1664 2252 1710 1536
3 1676 1677 2085 1536 1710 2916 3140 1963
我想知道以下是否可以按行排列(此处为第一行):
- 对于
df.loc[0,] = "R"中的每个值 - 取对应的列名(编号)
- 在
df2.loc[0,]中搜索号码 - 用
"R"替换df2.loc[0,]中的数字
这样我就明白了:
1 2 3 4 5 6 7 8
0 R 2654 R 1536 510 2590 2777 1677
1 1676 2824 3079 1677 R 3090 R 1709
2 2651 R 1677 1409 1664 2252 1710 1536
3 1676 1677 2085 R 1710 2916 3140 1963
编辑:
它不适用于我的特定 df。任何猜测是什么触发了这个问题?我已经尝试过重置索引。
这是上面帖子中的df:
这是上面帖子中的 df2:
【问题讨论】:
-
为什么有些值被替换而有些没有?它们是否必须与第一个数据帧位于同一行?
-
是的,在这种情况下,行非常重要
标签: regex python-3.x pandas