无论如何,有没有使用映射功能或更好的方法来替换整个数据框中的值?
我只知道如何在系列上执行映射。
我想用数字替换“ tesst”和“ set”列中的字符串,例如set = 1,test = 2
这是我的数据集的一个示例:(原始数据集非常大)
ds_r
respondent brand engine country aware aware_2 aware_3 age tesst set
0 a volvo p swe 1 0 1 23 set set
1 b volvo None swe 0 0 1 45 set set
2 c bmw p us 0 0 1 56 test test
3 d bmw p us 0 1 1 43 test test
4 e bmw d germany 1 0 1 34 set set
5 f audi d germany 1 0 1 59 set set
6 g volvo d swe 1 0 0 65 test set
7 h audi d swe 1 0 0 78 test set
8 i volvo d us 1 1 1 32 set set
最终结果应该是
ds_r
respondent brand engine country aware aware_2 aware_3 age tesst set
0 a volvo p swe 1 0 1 23 1 1
1 b volvo None swe 0 0 1 45 1 1
2 c bmw p us 0 0 1 56 2 2
3 d bmw p us 0 1 1 43 2 2
4 e bmw d germany 1 0 1 34 1 1
5 f audi d germany 1 0 1 59 1 1
6 g volvo d swe 1 0 0 65 2 1
7 h audi d swe 1 0 0 78 2 1
8 i volvo d us 1 1 1 32 1 1
感谢您的指教,
那DataFrame.replace
呢
In [9]: mapping = {'set': 1, 'test': 2}
In [10]: df.replace({'set': mapping, 'tesst': mapping})
Out[10]:
Unnamed: 0 respondent brand engine country aware aware_2 aware_3 age \
0 0 a volvo p swe 1 0 1 23
1 1 b volvo None swe 0 0 1 45
2 2 c bmw p us 0 0 1 56
3 3 d bmw p us 0 1 1 43
4 4 e bmw d germany 1 0 1 34
5 5 f audi d germany 1 0 1 59
6 6 g volvo d swe 1 0 0 65
7 7 h audi d swe 1 0 0 78
8 8 i volvo d us 1 1 1 32
tesst set
0 2 1
1 1 2
2 2 1
3 1 2
4 2 1
5 1 2
6 2 1
7 1 2
8 2 1
正如@Jeff在评论中指出的那样,在熊猫版本<0.11.1中,手动添加.convert_objects()
到末尾以正确转换tesst并将其设置为int64
列,以防后续操作很重要。
问题内容: 我想通过替换子字符串对Spark Dataframe列执行一些基本的处理。最快的方法是什么? 在当前的用例中,我有一个要规范化的地址列表。例如,此数据框: 会成为 问题答案: 对于Spark 1.5或更高版本,可以使用功能包: 快速说明: 调用该函数可在数据框中添加(或替换,如果名称存在)列。 该函数将通过替换所有与模式匹配的子字符串来生成新列。
这应该只得到数字和返回,但不做它作为预期的!有什么建议吗?
问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例:
问题内容: 我尝试使用此功能,但没有成功- 问题答案: 使用。 注意:删除了空格,因为通常不将其视为字母数字。
问题内容: 我有一个大约20列的pandas数据框。 可以通过手动编写所有列名来替换所有出现的字符串(此处为换行符): 不幸的是,这不起作用: 还有其他更优雅的解决方案吗? 问题答案: 您可以使用并传递字符串以查找/替换为字典键/项目: 例如:
我想用x(下划线)替换特殊字符(regex\W),但我不想用下划线替换空白,也不想用单个下划线替换多个连续的特殊字符 示例字符串:输出: 字符串:输出: 我试过,但并不准确