我有一个Pandas数据帧,如果索引和列名相同,想要将值更改为NA。有一种优雅的方式来实现这一目标吗?我只能想到应用和功能的繁琐解决方案。
import pandas as pd
df = pd.DataFrame({'a': [1, 1], 'b': [1, 1], 'c': [1, 1]})
df.index = ['a', 'b']
df
+---+---+---+---+
| | a | b | c |
+---+---+---+---+
| a | 1 | 1 | 1 |
| b | 1 | 1 | 1 |
+---+---+---+---+
要
+---+-----+-----+---+
| | a | b | c |
+---+-----+-----+---+
| a |None | 1 | 1 |
| b | 1 |None | 1 |
+---+-----+-----+---+
答案 0 :(得分:3)
你可以下降到numpy级别:
In [33]: df.index.values[:,None] != df.columns.values
Out[33]:
array([[False, True, True],
[ True, False, True]], dtype=bool)
这是有效的,因为我们可以利用广播来创建索引!= column:
的数组Toast.makeText(getApplicationContext(), folder_size + "", Toast.LENGTH_LONG).show();