![](/img/trans.png)
[英]How to insert row into pandas dataframe if a condition is not met?
[英]Replace string in dataframe if a condition in a different row is met
我有一个由日期和值列组成的数据框,有点像这样:
>>> df
date value
0 2016-09-10 value1
1 2016-09-10 value1
2 2016-09-10 value2
3 2016-09-10 value1
4 2016-09-12 value3
5 2016-09-12 value1
6 2016-09-13 value2
7 2016-09-13 value1
我想用value7
日期为'2016-09-10'的df['value']
中的所有value1
。 日期列是一个字符串系列。
我查看了pd.DataFrame.replace()
的文档,但找不到基于单独列的条件替换参数。 有很多丑陋的方法可以做到这一点( for
使用.loc
循环可以解决问题),但是有人知道一种不错的,一两行或更多pythonic的方法吗? 提前致谢!
import pandas as pd
data = {'date': ['2016-09-10', '2016-09-10',
'2016-09-10', '2016-09-10',
'2016-09-12', '2016-09-12',
'2016-09-13', '2016-09-13'],
'value': ['value1', 'value1', 'value2', 'value1',
'value3', 'value1', 'value2', 'value1']}
df = pd.DataFrame(data)
如果您希望其他所有内容保持不变并更改所需内容,请尝试以下方法,
df.loc[df['date'] == '2016-09-10' , 'value'] = 'value7'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.