Python 积累总结

  • for i,j in DataFrame

遇到的问题:

for i, j in new_data.groupby(by=['embryo_id', 'company_id']):
    if j.shape[0] == 2:
        relationshipdata = relationshipdata[~((relationshipdata.embryo_id == i[0]) &
                                             (relationshipdata.company_id == i[1]) &
                                             (relationshipdata.flag_contract == 0))]

new_data 是一个DataFrame类型数据,不太清楚i,j所表示的含义:

>>> import pandas as pd
>>> date1=pd.DataFrame(data=[[0,1,2],[3,4,5]], columns=['a','b','c'])
>>> date1
   a  b  c
0  0  1  2
1  3  4  5

>>> date1.groupby(by=['a','b'])
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002539A8D02E0>

>>> for i,j in date1.groupby(by=['a','b']):
    print(i)
    print(j)
(0, 1)
   a  b  c
0  0  1  2
(3, 4)
   a  b  c
1  3  4  5

>>> for i,j in date1.groupby(by=['a','b']):
    print(i)
    print(j.shape) 
(0, 1)
(1, 3)
(3, 4)
(1, 3)

>>> for i,j in date1.groupby(by=['a','b']):
    print(i)
    print(j.shape[0])
(0, 1)
1
(3, 4)
1


>>> date1 = date1[~(date1.a == 0)]
>>> date1
   a  b  c
1  3  4  5

# 拓展
>>> date2 = pd.DataFrame(data=[[0, 1, 2], [3, 4, 5],[0,5,6]], columns=['a', 'b', 'c'])
>>> date2
   a  b  c
0  0  1  2
1  3  4  5
2  0  5  6
>>> for i,j in date2.groupby(by=['a']):
    print(i)
    print(j)

0
   a  b  c
0  0  1  2
2  0  5  6
3
   a  b  c
1  3  4  5
  • python f‘字符串‘作用

        python的字符串前面加f表示格式化字符串,加f后可以在字符串里面使用用花括号{}括起来的变量和表达式,如果字符串里面没有表达式,那么前面加不加f输出应该都一样。

        格式化的字符串文字前缀为’f’和接受的格式字符串相似str.format()。它们包含由花括号包围的替换区域。替换字段是表达式,在运行时进行评估,然后使用format()协议进行格式化。

class Desk():
    def desk(self):
        print('能放东西')
        print(self)


# 再定义一个对象
desk1 = Desk()
desk1.width1 = 400
desk1.height = 500

#当不用f’{}‘时候
print(‘桌子的宽度是{width1},桌子高度是{height}厘米’.format(width1=desk1.width1,height=desk1.height))
#当用f’{}‘时候
print(f’桌子的宽度是{desk1.width1}厘米’)
print(f’桌子高度是{desk1.height}厘米’)

其余字符串前加u,r,b等见下面链接:

​​​​​​​python-字符串前面f的作用_pyorz的博客-CSDN博客_python字符串前面加个f​​​​​​​

  • 将时间的字符串,改成时间类行,并且作为索引

当前导入的数据为: 

import datetime as dt
dateparse = lambda dates: dt.datetime.strptime(dates, '%Y-%m')

#---其中parse_dates 表明选择数据中的哪个column作为date-time信息,
#---index_col 告诉pandas以哪个column作为 index
#--- date_parser 使用一个function(本文用lambda表达式代替),使一个string转换为一个datetime变量
data = pd.read_csv('AirPassengers.csv', parse_dates=['Month'], 
                index_col='Month',date_parser=dateparse)
data.index

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值