Py-pandas: list/dict转dataframe, 合并,索引,保留有效值

Python - pandas

Python pandas 是python的数据分析包

下面代码可以复制到python环境下运行

目录

正文

读取csv文件:

pd.read_csv("文件名.csv")
pd.to_csv(“文件名.csv”)

例子1:下面是一个pd包处理数据的例子

  • list转化成dataFrame
  • dataFrame的转置
  • 给dataFrame指定列名
  • pd.concat, 合并两个dataFrame
import pandas as pd
#定义两个 (3, 6) 二维列表a,c
a = [[1,2,3,4,2,3,2],[1,2,3,4,2,3,2],[1,2,3,4,2,3,2]]
c = [['abc', 'bcd', 'abc', 'bcd', 'abc', '234','789'],['abc', 'bcd', 'abc', 'bcd', 'abc', '234','789'],['abc', 'bcd', 'abc', 'bcd', 'abc', '234','789']]

#把二维列表直接转成dataFrame的格式
df1 = pd.DataFrame(a)
df2 = pd.DataFrame(c)

#对dataFrame进行转置, 变成了(6, 3) 格式
df1 = df1.T
df2 = df2.T

#可以通过columns指定它们的列名,inplace = True 是直接在原dataFrame更改, 默认是false,不改变原dataFrame,要重新赋值。
df1.rename(columns={0:'one', 1: 'two', 2:"three"},inplace=True)
df2.rename(columns={0:'four', 1: 'five', 2:"six"},inplace=True)

#合并两个dataFrame, axis = 1 是横向合并, axis = 0 是纵向合并
result = pd.concat([df1, df2], axis=1)

#print(df1)
#print(df2)
#print(result)

#把dataFrame导出成一个csv文件, index = 0 保存时候不保存索引, 默认保存索引。
result.to_csv("文件名.csv", index = 0)

例子2:一维list也可以执行上面的操作

  • 给DataFrame添加列
  • 设置新添加的列为索引
  • 对DataFrame所有数据保留有效数值
import pandas as pd

x = [1,2,3,4,2,3,2]
y = ['abc', 'bcd', 'abc', 'bcd', 'abc', '234','789']
df3 = pd.DataFrame(x)
df4 = pd.DataFrame(y)
df3 = df3.T
df4 = df4.T

#合并两个dataFrame, axis = 1 是横向合并, axis = 0 是纵向合并
result1 = pd.concat([df3, df4], axis=0)
#按照上面合并之后两行的索引都是0
print(result1)

#给DataFrame添加一列
result1['Name'] = ['数字', '字母']

#把这一列设置为index, inplace = True替换原DataFrame
result1.set_index('Name', inplace=True)
print(result1)

#保留两位有效数值
print(result1.round(2))

例子3:字典转化成dataframe

  • 字典转化成dataframe的三种方法
import pandas as pd

all_mea = {"True Postive (TP)":34,"False Postive (FP)":12,"True Negative (TN)":30,"False Negative (FN)":3,
           "Accuracy":0.81,"Precision":0.74,"Recall":0.92,"F-measure":0.82}


#如果字典里key和value是一一对应的,那么直接输入my_df = pd.DataFrame(my_dict)会报错
#把字典转换成dataFrame方法1
#使用DataFrame函数时指定字典的索引index
my_df1 = pd.DataFrame(all_mea, index=[0]).T
print(my_df1)

#把字典转换成dataFrame方法2
#把字典dict转为list后传入DataFrame
my_list = [all_mea]
my_df2 = pd.DataFrame(my_list).T
print(my_df2)

#把字典转换成dataFrame方法3
#使用DataFrame.from_dict函数, orient 指定字典转换的方向
my_df3 = pd.DataFrame.from_dict(all_mea, orient='index')
print(my_df3)

#字典转list的错误示范
my_list1 = list(all_mea)
print(my_list,'\n', my_list1)
my_df4 = pd.DataFrame(my_list1).T
print(my_df4)

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值