pandas 有一个列数,有一个列表元素为正整数,求pandas中小于列表中每一个数的数据的和,结果写入pandas ,并画折线图
时间: 2023-09-20 13:06:41 浏览: 150
### 回答1:
首先,你需要用 pandas 读入你的数据,然后创建一个新的列来存储结果。接下来,你可以使用一个循环来遍历每一个数字,并在 pandas 中筛选出小于这个数字的数据,然后将它们的和计入新的列中。最后,你可以使用 pandas 的 plot 方法来画出折线图。
具体代码可能需要根据你的具体情况来调整,但是大致流程应该是这样的:
```python
import pandas as pd
# 读入数据
df = pd.read_csv('data.csv')
# 创建一个新的列来存储结果
df['result'] = 0
# 遍历列表中的每一个数字
for num in numbers_list:
# 筛选出小于当前数字的数据
sub_df = df[df['column_name'] < num]
# 计算数据的和
result = sub_df['column_name'].sum()
# 将结果写入新的列中
df.loc[df['column_name'] == num, 'result'] = result
# 画出折线图
df.plot(x='column_name', y='result')
```
希望这能帮到你!
### 回答2:
首先,我们需要创建一个pandas DataFrame,并设置一个列数。
```python
import pandas as pd
# 创建一个空的DataFrame
df = pd.DataFrame()
# 设置列数
column_num = 5
for i in range(column_num):
col_name = 'Column' + str(i+1)
df[col_name] = []
```
接下来,我们创建一个包含正整数的列表。
```python
positive_nums = [1, 2, 3, 4, 5]
```
然后,我们遍历列表中的每个数,计算小于该数的DataFrame中所有元素的和,并将结果写入DataFrame中。
```python
for num in positive_nums:
sum_less_than_num = df[df < num].sum().sum()
df.loc[len(df)] = [sum_less_than_num]*column_num
```
最后,我们使用pandas的plot函数来生成折线图。
```python
df.plot()
```
完整的代码如下:
```python
import pandas as pd
# 创建一个空的DataFrame
df = pd.DataFrame()
# 设置列数
column_num = 5
for i in range(column_num):
col_name = 'Column' + str(i+1)
df[col_name] = []
# 包含正整数的列表
positive_nums = [1, 2, 3, 4, 5]
# 计算小于每个数的和,并将结果写入DataFrame中
for num in positive_nums:
sum_less_than_num = df[df < num].sum().sum()
df.loc[len(df)] = [sum_less_than_num]*column_num
# 生成折线图
df.plot()
```
这样就得到了小于列表中每个数的数据的和,并将结果写入DataFrame中,并且画出了折线图。
### 回答3:
首先,我们需要创建一个包含列数的pandas数据框,并将其命名为df。然后,我们创建一个包含正整数的列表,并命名为nums。
以下是实现这个任务的代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 创建包含列数的pandas数据框
df = pd.DataFrame(index=range(df.shape[0]), columns=range(df.shape[1]))
# 创建一个包含正整数的列表
nums = [1, 2, 3, 4, 5]
# 计算小于列表中每个数的数据的和,并将结果写入pandas数据框
for num in nums:
df[num] = df.lt(num).sum(axis=1)
# 画折线图
plt.plot(df.columns, df.iloc[0], 'b-', label='Sum')
plt.xlabel('Number')
plt.ylabel('Sum')
plt.legend()
plt.show()
```
在以上代码中,我们使用两个for循环来计算小于列表中每个数的数据的和,并将结果写入pandas数据框df的对应列。然后,我们使用matplotlib库来绘制折线图,其中x轴表示数值,y轴表示和的结果。最后,我们使用show()函数显示绘制的折线图。
阅读全文