假设你有一只熊猫DataFrame
其体内有某种数据并且numbers in the column
and index
names.
>>> data=np.array([['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']])
>>> columns = [2, 4, 8]
>>> index = [10, 4, 2]
>>> df = pd.DataFrame(data, columns=columns, index=index)
>>> df
2 4 8
10 a b c
4 d e f
2 g h i
现在假设我们想要基于比较索引和列以某种方式操作数据框。考虑以下。
如果索引大于列,则用“k”替换字母:
2 4 8
10 k k k
4 k e f
2 g h i
其中索引等于列,用“U”替换字母:
2 4 8
10 k k k
4 k U f
2 U h i
如果列大于索引,则用“Y”替换字母:
2 4 8
10 k k k
4 k U Y
2 U Y Y
为了让这个问题对所有人都有用:
进行此替换的快速方法是什么?
进行此替换的最简单方法是什么?
最小示例的速度结果
jezrael: 556 µs ± 66.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
用户3471881: 329 µs ± 11.4 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
雷伍德: 4.65 ms ± 252 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
这是重复的吗?我在谷歌上搜索了pandas replace compare index column
排名靠前的结果是:
Pandas - 比较两个数据帧并替换匹配条件的值 https://stackoverflow.com/questions/47571309/pandas-compare-two-dataframes-and-replace-values-matching-condition
Python pandas:根据位置而不是索引值替换值 https://stackoverflow.com/questions/38776699/python-pandas-replace-values-based-on-location-not-index-value
Pandas DataFrame:根据条件替换列中的所有值 https://stackoverflow.com/questions/31511997/pandas-dataframe-replace-all-values-in-a-column-based-on-condition
然而,我不认为这些涉及a)是否可能或b)如何以这种方式进行比较