dataframe列A的取值为"张三(123)",如何让列A的内容变成张三,然后生成内容为123的列B
时间: 2023-04-06 13:00:40 浏览: 53
可以使用 pandas 的 str.split() 方法将列A的内容按照括号分割成两部分,然后再将第一部分赋值给列A,第二部分赋值给列B。具体代码如下:
df[['A', 'B']] = df['A'].str.split('(', expand=True)
df['B'] = df['B'].str.rstrip(')')
其中,df 是你的 dataframe 对象,'A' 和 'B' 分别是列A和列B的列名。str.split() 方法的参数是分割符,expand=True 表示将分割后的结果转化为两列,然后使用赋值语句将结果赋值给列A和列B。最后一行代码使用 str.rstrip() 方法去掉列B中的右括号。
相关问题
如果dataframe列A取值为NaN,那么让生成列B=1;dataframe列A取值不是NaN,就生成列B=列A+1
您好,欢迎使用ChitGPT进行对话。回答您的问题,您可以使用pandas库中的fillna()方法来实现。代码如下:
```
import pandas as pd
df['B'] = df['A'].fillna(1)
df.loc[df['A'].notnull(), 'B'] = df['A']
```
在第一行中,我们使用fillna()方法将列A中的NaN值替换为1并将结果存储在列B中。在第二行中,我们使用notnull()方法来检测A列是否包含非NaN值,如果是,则将A列的值赋给B列。
请注意,以上代码仅适用于DataFrame类型的数据。如果您有任何其他问题,请告诉我。
如果dataframe列A取值为空,那么让生成列B=列A+1;否则就生成列B=列A
你可以使用如下代码来实现:
```python
import pandas as pd
# 创建 dataframe
df = pd.DataFrame({
'A': ['a', '', 'b', 'c', ''],
})
# 生成列B
df['B'] = df['A'].apply(lambda x: x+'1' if x == '' else x)
# 打印 dataframe
print(df)
```
输出结果为:
```
A B
0 a a
1 1
2 b b
3 c c
4 1
```
其中,使用 `apply` 方法将一个函数应用到每个元素上,根据列A是否为空来生成列B的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)