python 滚动爬取dataframe,并滚动赋值给新的dataframe
时间: 2023-11-18 19:58:14 浏览: 143
可以使用pandas中的rolling函数来实现滚动计算,然后将结果赋值给新的dataframe。
假设有一个原始的dataframe df,需要对其中的某一列进行滚动计算,结果赋值给新的dataframe df_new,可以按照以下步骤操作:
1. 使用rolling函数对原始dataframe df中的某一列进行滚动计算,例如计算每5行的平均值:
```python
rolling_mean = df['column_name'].rolling(window=5).mean()
```
2. 将滚动计算结果赋值给新的dataframe df_new中对应的列,例如赋值给df_new的'rolling_mean'列:
```python
df_new['rolling_mean'] = rolling_mean
```
完整代码示例:
```python
import pandas as pd
# 读取原始dataframe
df = pd.read_csv('data.csv')
# 滚动计算每5行的平均值
rolling_mean = df['column_name'].rolling(window=5).mean()
# 创建新的dataframe
df_new = pd.DataFrame()
# 将滚动计算结果赋值给新的dataframe中的对应列
df_new['rolling_mean'] = rolling_mean
```
相关问题
python 滚动爬取dataframe
要滚动爬取dataframe,您可以使用Pandas中的iloc函数来选择要滚动的行。以下是一个简单的例子:
```python
import pandas as pd
# 读取CSV文件
df = pd.read_csv('data.csv')
# 每次滚动2行
scroll = 2
# 初始行数
start_row = 0
# 滚动爬取
while start_row < len(df):
# 选择要滚动的行
rows = df.iloc[start_row:start_row+scroll]
print(rows)
# 增加滚动量
start_row += scroll
```
在这个例子中,我们读取了一个CSV文件并定义了每次滚动的行数。然后我们使用一个while循环来滚动爬取。在循环中,我们使用iloc函数选择要滚动的行,并打印它们。最后,我们增加滚动量以继续滚动爬取,直到我们到达了数据框的末尾。
请注意,在这个例子中,我们假设您有足够的内存来一次性读取整个数据框。如果您的数据框太大,无法一次性读取,您可以考虑使用Pandas的chunksize参数来分块读取数据。
python 创建空dataframe循环按列赋值
Python中创建空的DataFrame可以使用以下语句:
```python
import pandas as pd
df = pd.DataFrame()
```
接下来,如果要循环按列赋值,可以使用循环来遍历列,并使用`df[col_name]`语法为每列赋值。例如,假设要为DataFrame创建3列,并将1到3的数字分别赋给每列,可以使用以下代码:
```python
import pandas as pd
df = pd.DataFrame()
for i in range(3):
col_name = f'Column{i+1}'
df[col_name] = range(1, 4)
```
上述代码使用循环将3列分别命名为`Column1`,`Column2`和`Column3`。每列通过`range(1, 4)`进行赋值,分别为1、2和3。
最后,DataFrame将如下所示:
```
Column1 Column2 Column3
0 1 1 1
1 2 2 2
2 3 3 3
```
这样,通过循环按列赋值,我们可以创建并填充空的DataFrame。
阅读全文