欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > Pandas_构建dataframe的多种方法

Pandas_构建dataframe的多种方法

2024/10/25 9:37:08 来源:https://blog.csdn.net/TuringSnowy/article/details/142632681  浏览:    关键词:Pandas_构建dataframe的多种方法
  1. 使用字典构建
    import pandas as pd

data = {
‘Column1’: [1, 2, 3],
‘Column2’: [‘A’, ‘B’, ‘C’]
}
df = pd.DataFrame(data)

  1. 使用列表的列表构建
    data = [
    [1, ‘A’],
    [2, ‘B’],
    [3, ‘C’]
    ]
    df = pd.DataFrame(data, columns=[‘Column1’, ‘Column2’])

  2. 使用NumPy数组构建
    import numpy as np

data = np.array([
[1, ‘A’],
[2, ‘B’],
[3, ‘C’]
])
df = pd.DataFrame(data, columns=[‘Column1’, ‘Column2’])

  1. 使用Series对象构建
    s1 = pd.Series([1, 2, 3], name=‘Column1’)
    s2 = pd.Series([‘A’, ‘B’, ‘C’], name=‘Column2’)
    df = pd.DataFrame([s1, s2])

  2. 使用从文件读取构建
    • 从CSV文件读取
    df = pd.read_csv(‘path_to_file.csv’)

• 从Excel文件读取
df = pd.read_excel(‘path_to_file.xlsx’)

• 从SQL数据库读取
import sqlite3
conn = sqlite3.connect(‘path_to_db.db’)
df = pd.read_sql_query(‘SELECT * FROM table_name’, conn)

  1. 使用pd.concat或pd.merge合并多个DataFrame
    df1 = pd.DataFrame({‘A’: [1, 2, 3]})
    df2 = pd.DataFrame({‘B’: [4, 5, 6]})
    df = pd.concat([df1, df2], axis=1)

  2. 使用pd.DataFrame.from_records
    records = [
    (1, ‘A’),
    (2, ‘B’),
    (3, ‘C’)
    ]
    df = pd.DataFrame.from_records(records, columns=[‘Column1’, ‘Column2’])

  3. 使用pd.DataFrame.from_dict构建
    • 将字典的值作为列
    data = {
    ‘Column1’: [1, 2, 3],
    ‘Column2’: [‘A’, ‘B’, ‘C’]
    }
    df = pd.DataFrame.from_dict(data)

• 将字典的键作为列
data = {
‘Row1’: [1, ‘A’],
‘Row2’: [2, ‘B’],
‘Row3’: [3, ‘C’]
}
df = pd.DataFrame.from_dict(data, orient=‘index’)

  1. 使用pd.DataFrame.from_items
    items = [
    (‘Column1’, [1, 2, 3]),
    (‘Column2’, [‘A’, ‘B’, ‘C’])
    ]
    df = pd.DataFrame.from_items(items)

  2. 使用pd.DataFrame的构造函数
    df = pd.DataFrame(index=[0, 1, 2], columns=[‘Column1’, ‘Column2’])
    df.loc[0] = [1, ‘A’]
    df.loc[1] = [2, ‘B’]
    df.loc[2] = [3, ‘C’]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com