一个Dataframe,对数字元素随机增加或减少0-3之内的float,非数字元素跳过
时间: 2024-10-09 08:07:48 浏览: 29
要创建一个DataFrame并对其中的数字元素随机增加或减少0-3之间的浮点数,我们可以结合`pandas`库(pd)中的`DataFrame`创建方法以及`numpy`库(np)中的`random`模块。非数字元素我们将忽略不处理。
首先,让我们创建一个基本的DataFrame,然后随机修改数值列的元素:
```python
import pandas as pd
import numpy as np
# 创建一个简单的DataFrame
data = {
'A': [1, 2, 3, 'B', 'C'],
'B': [4, 5, 6, 7, 'D']
}
df = pd.DataFrame(data)
# 对数字列随机增减0-3的浮点数
numeric_cols = df.select_dtypes(include=[np.number]).columns.tolist()
for col in numeric_cols:
df[col] += np.random.randint(0, 4, len(df[col])).astype(float)
# 示例结果(可能因随机性不同)
print(df)
```
在这个例子中,我们使用`select_dtypes(include=[np.number])`来找出DataFrame中的数值列,然后对这些列应用随机操作。对于非数字列(如'B'列),我们直接保留原样。
阅读全文