pandas学习

从 csv 文件中读取数据

你可以用read_csv函数来直接度csv文件,默认情况下,文件是用逗号分割字段。

import pandas as pd
data = pd.read_csv('../data/bikes.csv')
series = data['Defense']        # data['Defense'] = series
print(type(series))
data_frame = data[['Defense']]  # data[['Defense']] = data frame
print(type(data_frame))

Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签(称作索引)。

一个Datarame表示一个表格,类似电子表格的数据结构,包含一个经过排序的列表集,它们每一个都可以有不同的类型值(数字,字符串,布尔等等)。Datarame有行和列的索引;它可以被看作是一个Series的字典(每个Series共享一个索引)。
与其它你以前使用过的(如 R 的 data.frame )类似Datarame的结构相比,在DataFrame里的面向行和面向列的操作大致是对称的。在底层,数据是作为一个或多个二维数组存储的,而不是列表,字典,或其它一维的数组集合。

修改列名

a.rename(columns={'A':'a', 'B':'b', 'C':'c'}, inplace = True)

特定值替换

替换表中全部或者某一行

df.replace(to_replace, value, inplace = True) 

前面是需要替换的值,后面是替换后的值。
要改变源数据需要使用inplace = True
按条件替换

df = pd.DataFrame({'A': [10,11,12],'B': [20,21,22],'C': [30, 31, -32]})

df.loc[df.A >= 11, 'B'] = -1        #if-then在一列上(对一列进行修改值
df.loc[df.A >= 5, ['B', 'C']] = 88  #if-then分配给2列
df.loc[df.A < 12, ['B', 'C']] = 99  

#df              result1          result2          result3
   A   B   C        A   B   C       A    B   C       A    B   C
0  10  20  30    0  10  20  30    0  10  88  88    0  10  99  99
1  11  21  31    1  11  -1  31    1  11  88  88    1  11  99  99
2  12  22 -32    2  12  -1 -32    2  12  88  88    2  12  88  88

#第二种方法:
df.sex[df['sex']=='m']=1
df.sex[df['sex']=='f']=0

参考:pandas入门
pandas if else语句(数据替换)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Pandas 中的两个最重要的数据结构是 Series 和 DataFrame,其约定的引用方式为: Series...
    拓季阅读 180评论 0 4
  • 最近在学习数据分析,对学的进行了些整理,方便以后查看。欢迎交流。 下面的代码用到的模块都事先做了导入: impor...
    不_初心阅读 1,251评论 1 3
  • 夜,沉。 慕家别墅。 宾客散尽,空气中还飘着甜腻的香槟气息,见证着慕夏两家的联姻之喜。 二楼主卧,柔软的大床上。 ...
    小小书使阅读 1,107评论 0 2
  • 细碎知识点整理 注意点: iOS7或8以前如果设置了tabBar的tintColor, 只有文字有效图片无效// ...
    G了个J阅读 991评论 1 3
  • 医院里送来了一位17岁的患者,小姑娘是因为在和男朋友啪啪啪的时候导致阴道大量出血,在小医院没有止住血,所以才被送到...
    陶之夭夭1阅读 3,937评论 3 5