python 创建dataframe并循环添加行
时间: 2023-09-13 16:09:31 浏览: 169
可以使用 pandas 库来创建 DataFrame,并使用 append() 方法循环添加行。
示例代码:
```python
import pandas as pd
# 创建空的 DataFrame
df = pd.DataFrame(columns=['Name', 'Age', 'Gender'])
# 循环添加行数据
for i in range(3):
name = input('请输入姓名:')
age = input('请输入年龄:')
gender = input('请输入性别:')
data = {'Name': name, 'Age': age, 'Gender': gender}
df = df.append(data, ignore_index=True)
# 输出 DataFrame
print(df)
```
运行结果:
```
请输入姓名:Tom
请输入年龄:20
请输入性别:male
请输入姓名:Lucy
请输入年龄:18
请输入性别:female
请输入姓名:John
请输入年龄:22
请输入性别:male
Name Age Gender
0 Tom 20 male
1 Lucy 18 female
2 John 22 male
```
注意:在循环添加行时,需要使用 ignore_index=True 参数来忽略原有的索引。否则会产生重复的索引值。
相关问题
Python dataframe循环拼接,添加循环标识
抱歉,我可以回答这个问题。你可以使用 pandas.concat() 函数来拼接 DataFrame,可以使用 Series.map() 函数添加循环标识。例如:
```python
import pandas as pd
# 创建空的 DataFrame
result = pd.DataFrame()
# 循环读取多个文件
for i in range(10):
# 读取文件并处理
df = pd.read_csv(f'file_{i}.csv')
df['loop_id'] = i # 添加循环标识
# 将数据拼接到 result 中
result = pd.concat([result, df])
# 保存结果
result.to_csv('result.csv')
```
其中,`Series.map()` 函数可以接受一个函数作为参数,该函数用于对 Series 中的每个元素进行处理。在上面的示例中,我们定义了一个 lambda 函数,该函数将 `i`(循环计数器)作为参数,返回一个与 `df` 行数相同的 Series,其中每个元素都是 `i`。然后,我们将新的 Series 赋值给 `df` 的新列 `loop_id`,表示该行数据来自于第几次循环。
python创建一个空的dataframe,并循环赋值的方法
创建一个空的dataframe可以使用以下代码:
import pandas as pd
df = pd.DataFrame()
接下来可以使用循环赋值的方法,将数据逐行加入到dataframe中。首先需要创建一个包含数据的列表或字典,然后使用for循环逐行加入到dataframe中。以下是一个使用字典的例子:
import pandas as pd
df = pd.DataFrame()
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'gender': ['F', 'M', 'M']}
for i in range(len(data['name'])):
df.loc[i] = data['name'][i], data['age'][i], data['gender'][i]
第一行创建了一个空的dataframe,第二行创建了一个包含数据的字典。接下来的for循环遍历了字典中的每一行数据,并使用了loc方法逐行加入到dataframe中。在这个例子中,loc方法使用了一个参数i,来指定要添加到dataframe的行数。第一次循环时,i为0,第二次循环时,i为1,依此类推。因此,每次循环时,loc方法将数据逐行加入到dataframe中。最终,dataframe包含了三行数据,每行数据包含了name,age和gender字段。
阅读全文