python处理csv文件修改一列数据(python中给csv替换数据)
python对csv年龄一列划分范围改
python对csv年龄一列划分范围改
(1)单条件筛选
df[df[‘a’]30]
如果想筛选 a 列的取值大于 30 的记录, 但是之显示满足条件的 b,c 列的值可以这么写
df’b’,’c’[df[‘a’]30]
使用 isin 函数根据特定值筛选记录。筛选 a 值等于 30 或者 54 的记录
df[df.a.isin([30, 54])]
(2)多条件筛选
可以使用 (并)与 | (或)操作符或者特定的函数实现多条件筛选
使用 筛选 a 列的取值大于 30,b 列的取值大于 40 的记录
df[(df[‘a’] 30) (df[‘b’] 40)]
(3)索引筛选
a. 切片操作
df[行索引,列索引] 或 df列名 1,列名 2
#使用切片操作选择特定的行
df[1:4]
#传入列名选择特定的列
df’a’,’c’
b. loc 函数
当每列已有 column name 时,用 df [‘a’] 就能选取出一整列数据。如果你知道 column names 和 index,且两者都很好输入,可以选择 .loc 同时进行行列选择。
In [28]: df.loc[0,‘c’]
Out[28]: 4
In [29]: df.loc[1:4,[‘a’,‘c’]]
Out[29]:
a c
1 6 10
2 12 16
3 18 22
4 24 28
In [30]: df.loc[[1,3,5],[‘a’,‘c’]]
Out[30]:
a c
1 6 10
3 18 22
5 30 34
c. iloc 函数
如果 column name 太长,输入不方便,或者 index 是一列时间序列,更不好输入,那就可以选择 .iloc 了,该方法接受列名的 index,iloc 使得我们可以对 column 使用 slice(切片)的方法对数据进行选取。这边的 i 我觉得代表 index,比较好记点。
In [35]: df.iloc[0,2]
Out[35]: 4
In [34]: df.iloc[1:4,[0,2]]
Out[34]:
a c
1 6 10
2 12 16
3 18 22
In [36]: df.iloc[[1,3,5],[0,2]]
Out[36]:
a c
1 6 10
3 18 22
5 30 34
In [38]: df.iloc[[1,3,5],0:2]
Out[38]:
a b
1 6 8
3 18 20
5 30 32
d. ix 函数
ix 的功能更加强大,参数既可以是索引,也可以是名称,相当于,loc 和 iloc 的合体。需要注意的是在使用的时候需要统一,在行选择时同时出现索引和名称, 同样在同行选择时同时出现索引和名称。
df.ix[1:3,[‘a’,‘b’]]
Out[41]:
a b
1 6 8
2 12 14
3 18 20
In [42]: df.ix[[1,3,5],[‘a’,‘b’]]
Out[42]:
a b
1 6 8
3 18 20
5 30 32
In [45]: df.ix[[1,3,5],[0,2]]
Out[45]:
a c
1 6 10
3 18 22
5 30 34
e. at 函数
根据指定行 index 及列 label,快速定位 DataFrame 的元素,选择列时仅支持列名。
In [46]: df.at[3,‘a’]
Out[46]: 18
f. iat 函数
与 at 的功能相同,只使用索引参数
In [49]: df.iat[3,0]
Out[49]: 18
python筛选csv数据年龄在1-100的范围内
?
?
点赞文章给优秀博主打call~
便携平板价格
精选推荐
?广告
?
如何用python删除csv文件中的某一列
1、首先电脑中打开csv文件,查看数据,如下图所示。
2、接着在打开的python软件中,读取csv的代码,查看返回类型,如下图所示。
3、接着读取数据代码并输出,如下图所示。
4、然后输入csv文件代码,如下图所示。
5、最后查看写好的csv文件,如下图所示就完成了。
python怎么同时定义csv的行列
Python对csv文件进行行列的增加操作方法,这里通过实例向大家讲解,代码如下:
方法一:
import csv
d = list(range(38685))
with open('./hh.csv') as f1:
f_csv = csv.DictReader(f1)
for i, row in enumerate(f_csv):
#print(row)
key1 = hello'
value1 = 'test'
row[key1] = value1
key2 = 'hahaha'
value2 = '0'
row[key2] = value2
d[i] = row
f1.close()
方法二:
headers = ['hello', 'youtube_id', 'time_start', 'time_end', 'split', 'hahaha']
with open('./hh.csv', 'w') as f:
f_csv = csv.DictWriter(f, headers)
f_csv.writeheader()
f_csv.writerows(d)
f.close()
with open('./hh.csv','rt') as fin:
lines=''
for line in fin:
if line!='\n':
lines+=line
with open('./hh.csv','wt')as fout:
fout.write(lines)
在上面的所有中,我们分别使用了两种不同的方式来对csv文件进行行列的增加,第一种方法,首先先用一个excel表打开一个csv文件,对它进行手动添加了hello和hahaha。第二种方法,是直接利用python里面的csv模块进行改写操作,在对csv文件进行操作的时候,会增添许多的空行,在倒数第7行的代码开始,就是对csv文件中多出来的空格进行处理。
python如何修改csv某列数值?
f=open('xxx','r',encoding='utf-8')
file=f.readlines()
f.close()
f=open('xxx','w',encoding='utf-8')
for i in len(file):
----file[i]=file[i].split(',')
----file[i][1]=99
----for j in file[i]:
--------f.write(j+',')
----f.write('\n')
f.close()