| CARVIEW |
?mNumPy??????n?قȂ?^?̃f?[?^???i?[????\?????z????g???Ă݂悤?FPython?f?[?^????????
NumPy?̑??????z??̗v?f?͑S?ē????^?ł???K?v??????܂??B???A?قȂ?^?̃f?[?^??1?̔z??Ɋi?[?????????Ƃ?????͂??ł??B??????\?ɂ???\?????z????Љ?܂??B
???̋L???͉??????ł??B????o?^?i?????j????ƑS?Ă????????????܂??B
?A?ڊT?v
?@?{?A?ڂ?Python?ɂ??Ă̒m???????ɂ?????x?͐g?ɕt???Ă??????ΏۂƂ??āAPython?Ńf?[?^???????s????ŕK?{?Ƃ???????NumPy??pandas?AMatplotlib?Ȃǂ̊e?탉?C?u?????̊?{?I?Ȏg???????w??ł??????̂ł??B?????āA?????̎g????????????x?o??????ŁA?????????p???ăf?[?^???????s?????߂̑????ݏo?????Ƃ?ړI?Ƃ??Ă??܂??B
?@?O????NumPy??????numpy.datetime64?N???X??numpy.timedelta64?N???X???Љ?ANumPy?ɂ???????t?̎?舵???ɂ??Ęb???܂????B???̍Ō?ɁA???t???܂?CSV?t?@?C????numpy.loadtxt???œǂݍ??????Ƃ???Ɨ?O??????????̂??m?F???܂????B
from pathlib import Path
print(Path('test.csv').read_text())
# ?o?͌??ʁF
#date,value0,value1
#2024-01-01,5.,2.
#2024-01-02,8.,7.
#2024-01-03,1.,10.
#2024-01-04,6.,2.
data = np.loadtxt('test.csv', delimiter=',', skiprows=1) # ValueError
?@???̂Ƃ???????????O?ɂ́ucould not convert string '2024-01-01' to float64 at row 0, column 1.?v?Ƃ??????b?Z?[?W???t?L????Ă??܂????B?܂?A???t???????_???l?ɕϊ??ł??Ȃ??̂œǂݍ??݂Ɏ??s?????Ƃ??????Ƃł??B
?@???̂悤??CSV?t?@?C????ǂݍ??ނɂ͎??ۂɂ͈ȉ??̂悤?ȃR?[?h?????????ƂɂȂ?܂??B
dtype = np.dtype([('date', 'M8[D]'), ('value0', 'float64'),
('value1', 'float64')])
data = np.loadtxt('test.csv', delimiter=',', skiprows=1, dtype=dtype)
?@??̃R?[?h?ōs???Ă??邱?Ƃ??ȒP?ɐ???????ƁA???̂悤?ɂȂ?܂??B
- 1?s?ځF?\?????f?[?^?^?̒?`
- 2?s?ځF??Œ?`?????\?????f?[?^?^??z??̗v?f?̃f?[?^?^?Ƃ??Ďw?肵?āA?\?????z???Ƃ???CSV?t?@?C???̓??e??ǂݍ???
?@?Ƃ????킯?ŁA?ȉ??ł͍\?????f?[?^?^?ƍ\?????z??ɂ??Č??Ă??????Ƃɂ??܂??傤?B
?@?\?????f?[?^?^??\?????z???C????̍\???̓I?Ȏg??????C????ŏ????ꂽ?R?[?h?Ƃ̂??????l???č??ꂽ???̂ŁA?f?[?^???͂?f?[?^?????Ƃ??????ꂩ?猩??Ǝg?????肪?ǂ??Ƃ͂????ɂ??????̂ł??B?قȂ??ނ̃f?[?^???i?[???Ă???\?`???f?[?^???????̂ł???Apandas?Ȃǂ̕??????܂???????͂??ł??B
?@?ł͂???܂????A?????ɋ???????t?Ɛ??l?f?[?^???ЂƂ܂Ƃ߂ɂ??Ĉ????b?̑??ɂ????O?i??????j?Ɖ??炩?̐??l?f?[?^?????\?`???f?[?^?????????Ƃ????čl?????܂??BNumPy?ł??????????????l????̂ł???A?\?????z??̒m???͂????Ă????͂Ȃ??ł??傤?B
?\?????z??Ƃ?
?@?\?????z??iStructured Array?j?Ƃ͂????Ă??܂??A?قȂ??ނ̃f?[?^?^???܂Ƃ߂?1?̃f?[?^?^?ƌ??Ȃ??A????𑽎????z??̃f?[?^?^?Ƃ??????̂ł??B???̂ЂƂ܂Ƃ߂ɂ????f?[?^?^?̂??Ƃ?NumPy?ł́u?\?????f?[?^?^?v?iStructured Datatype?j?ƌĂсA?????p???č쐬???ꂽ???????z??̂??Ƃ??u?\?????z??v?ƌĂԂ̂͊??ɏq?ׂ??ʂ?ł??B
?@?\?????f?[?^?^???\??????f?[?^?^?isubtype?j???u?t?B?[???h?v?ƌĂт܂??B?t?B?[???h?͂???ɃA?N?Z?X???邽?߂̖??O?₻???Ɋi?[????f?[?^?̌^?Ȃǂ̏????܂?ł??܂??B
?@??قǂ̗?ł???A?쐬????\?????z??̍\?????f?[?^?^?́unumpy.datetime64?N???X?̓??t?iM8[D]?j?A64bit?̕????????_???l?ifloat64?j?A??????64bit?̕????????_???l?ifloat64?j?v??g?ݍ??킹?????̂ƂȂ?܂??B?????āA?????̃t?B?[???h?̖??O?́A'date'?A'value0'?A'value1'?ł??B
?\?????f?[?^?^?̒?`
?@?\?????f?[?^?^??numpy.dtype?N???X?̃C???X?^???X?Ƃ??č쐬???邱?Ƃ?????܂????A?P?Ƀ??X?g???g???āu[(?t?B?[???h??, ?f?[?^?^), (?t?B?[???h??, ?f?[?^?^), ?c?c]?v?̂悤?Ɏw?肷?邱?Ƃ?????܂??B?ȉ??ɗ???????܂??B
dtype = np.dtype([('field0', np.int32), ('field1', np.float64)])
print(dtype) # [('field0', '<i4'), ('field1', '<f8')]
?@???̗?ł́A32bit?????l??64bit?????????_???l?ō\???????\?????f?[?^?^???`???Ă??܂??B???X?g?̗v?f?ƂȂ??Ă???^?v???ł̓t?B?[???h???Ƃ??̃t?B?[???h?̃f?[?^?^???u('field0', np.int32)?v?u('field1', np.float64)?v?̂悤?Ɏw?肵?Ă??܂??B?^?v???̑?0?v?f?ł???'field0'??'field1'???t?B?[???h?̖??O?A??1?v?f?ł???np.int32??np.float64??2?̃t?B?[???h?Ɋi?[?????f?[?^?̌^?ł??i????Љ??̂͂????2?????ł????A??葽???̏????܂߂邱?Ƃ??\?ł??j?B
?@???Ȃ݂Ƀt?B?[???h???????ɂ???ƁA'f0'?A'f1'?A?c?c?̂悤?Ȗ??O???????I?ɕt?????܂??B?ȉ??͂??̗?ł??B
dtype = np.dtype([('', np.int32), ('', np.float64)])
print(dtype) # [('f0', '<i4'), ('f1', '<f8')]
?@?\?????f?[?^?^?????ł͂Ȃ??ANumPy?ł̓f?[?^?^???ȉ??̂悤?ȕ??@?Ŏw??\?ł??B
- numpy.int32??numpy.float64?̂悤??NumPy?̌^?i???邢??Python?ɑg?ݍ??݂̃f?[?^?^?j?????̂܂w?肷??
- 'int32'??'float64'?̂悤??NumPy?̌^?i???邢??Python?ɑg?ݍ??݂̃f?[?^?^?j????Ƃ??ĕ\?????????̂??g?p????
- 'i4'??'f8'?̂悤?Ƀf?[?^?^??\???u?^?R?[?h?v???g?p????
?@?uprint(dtype)?v?s?̏o?͌??ʂ͍Ō?̌^?R?[?h???g?p???????̂ɂȂ??Ă??܂??B???̂Ƃ??ɂ͕????o?C?g?ō\???????1?̃f?[?^?????g???G???f?B?A???`???Ń??????ɍʼn??ʃo?C?g???珇?Ɋi?[???邩?i'<'?j?A?r?b?O?G???f?B?A???`???Ń??????ɍŏ?ʃo?C?g???珇?Ɋi?[???邩?i'>'?j?????????????w??ł??܂??i?f?[?^?^???o?͂????Ƃ???'<'??'>'???t??????邱?Ƃ?????܂??j?B?ʏ?̓G???f?B?A?????w?肵?Ȃ??A?܂?f?t?H???g?̃G???f?B?A?????g???Ζ?肠??܂???B?G???f?B?A???̎w??́A?ً@??ԂŃo?C?i???f?[?^?̌݊?????ۂ??߂̋@?\?ł???A??ʓI?ȃf?[?^???͂?@?B?w?K?ɂ͕s?v?ȋ@?\?ł??B
?@?܂??A'i'??'f'?̌?ɂ͂??̃f?[?^?T?C?Y???o?C?g???Ŏw??ł??܂??B'i4'?Ȃ?u4?o?C?g?̐????^?v???A'f8'?Ȃ?u8?o?C?g?̕????????_???^?v?Ƃ??????Ƃł??i?ȉ??̕\??'b'?A'B'?A'?'?̂悤?Ƀo?C?g?T?C?Y???Œ?Ȃ??̂?????A?????ɂ??Ă̓T?C?Y???w??ł??܂???j?B
?@???̂悤?Ȍ^?R?[?h?Ƃ??Ă͈ȉ??̂??̂?????܂??B
| ?^?R?[?h | ?f?[?^?^ |
|---|---|
| '?' | ?u?[???A???^ |
| 'b' | ?????t????1?o?C?g?????^ |
| 'B' | ?????Ȃ???1?o?C?g?????^ |
| 'i' | ?????t???????^ |
| 'u' | ?????Ȃ??????^ |
| 'f' | ?????????_???^ |
| 'c' | ???f???^ |
| 'm' | numpy.timedelta64?^ |
| 'M' | numpy.datetime64?^ |
| 'O' | Python??object?^ |
| 'S'?A'a' | 0?I?[????o?C?g?? |
| 'U' | Unicode?????? |
| 'V' | ???f?[?^ |
| ?^?R?[?h | |
?@?O????????悤??'M'??numpy.datetime64?N???X?̌^?R?[?h?A'm'??numpy.timedelta64?N???X?̌^?R?[?h?ł????A?????͂????'M[D]'??'m[s]'?̂悤?ȓ??t?P?ʂ⎞???P?ʂ??w??\?ł??B
?@???ۂɌ^?R?[?h???g????numpy.dtype?I?u?W?F?N?g???쐬?????????Ă݂܂??傤?i?????ł̓V???v???ɂ??邽?߂ɍ\?????f?[?^?^?͍쐬???܂???j?B
dt = np.dtype('i8')
print(dt) # int64
dt = np.dtype('f8')
print(dt) # float64
dt = np.dtype('U8')
print(dt) # '<U8'
dt = np.dtype('?')
print(dt) # bool
dt = np.dtype('M8[D]')
print(dt) # datetime64[D]
?@?????̗v?f???g???č\?????f?[?^?^???`?????̂??ŏ??Ɍ??Ă???????R?[?h?ł??B
dtype = np.dtype([('date', 'M8[D]'), ('value0', 'float64'),
('value1', 'float64')])
?@?????ł?3?̃t?B?[???h????Ȃ?\?????f?[?^?^???`???Ă??܂??B?ŏ??̃t?B?[???h?̖??O??'date'??datetime64[D]?^?̃f?[?^???i?[???A???̃t?B?[???h?̖??O??'value0'??64bit?̕????????_???l???i?[???A?Ō?̃t?B?[???h?̖??O??'value1'?œ?????64bit?̕????????_???l???i?[???邱?Ƃ???????܂??B
?@???̍\?????f?[?^?^?̃f?[?^1?????ۂɂǂꂾ???̃???????????邩??itemsize?????Œ??ׂ??܂??B
print(dtype.itemsize) # 24
?@???̗?ł́A??Œ?`?????\?????f?[?^?^?̃f?[?^1??24B?̃???????K?v?Ƃ??邱?Ƃ???????܂????B?????numpy.datetime64?N???X?̃C???X?^???X??8B?A2????float64?̃f?[?^?????ꂼ??8B??K?v?Ƃ??邩??ł??B
?@?????āA???̍\?????f?[?^?^?͓??t?A???l?A???l?Ƃ???3?J?????ō\??????Ă???T???v????CSV?t?@?C???̃t?H?[?}?b?g?Ɉ?v???Ă???̂ŁAnumpy.loadtxt????dtype?p?????[?^?[?ɂ????n???Ă??A???܂?CSV?t?@?C???̓??e??ǂݍ??߂?Ƃ????킯?ł??B
data = np.loadtxt('test.csv', delimiter=',', skiprows=1, dtype=dtype)
?@?ǂݍ??f?[?^??\?????Ă݂??̂??ȉ??ł??B
?@?Ȃ??A?\?????f?[?^?^?͑??푽?l?ȕ??@?ō쐬?ł??邽?߁A?{?e?ł͂??̑S?Ă??Љ??܂???B?ڍׂɂ??ẮANumPy?̃h?L???????g?uStructured arrays?v?uData type objects (dtype)?v?Ȃǂ??Q?Ƃ??Ă????????B
?\?????z??̍쐬?Ƒ???
?@?Ƃ܂??A???t?f?[?^???܂?CSV??ǂݍ??߂?悤?ɂ͂Ȃ?܂??????A????ŏI???Ƃ????킯?ɂ??????܂???BCSV?t?@?C???̓ǂݍ??݂ł͂Ȃ??A??قǍ쐬?????\?????f?[?^?^????ɍ\?????z??i???????z??j???쐬???āA?????Ƀf?[?^???i?[?ł???悤?ɂ???ɂ͂ǂ???????????܂Œm?肽???Ƃ͎v???܂??B
?@?Ƃ????킯?ŁA?ȉ??̃R?[?h?œ??t?f?[?^?Ƃ???ȊO?̃f?[?^??ǂݍ???ł????܂??傤?B?\?????z????쐬??????A?????̃f?[?^??????ɑ?????Ă݂܂??B
data = np.loadtxt('test.csv', delimiter=',', usecols=[1, 2], skiprows=1)
print(data)
# ?o?͌??ʁF
#[[ 5. 2.]
# [ 8. 7.]
# [ 1. 10.]
# [ 6. 2.]]
dates = np.loadtxt('test.csv', delimiter=',', usecols=[0], skiprows=1, dtype='M8[D]')
print(dates) # ['2024-01-01' '2024-01-02' '2024-01-03' '2024-01-04']
?@?ϐ?data?ɂ?CSV?t?@?C???̓??t?f?[?^?ȊO?̕??????A?ϐ?dates?ɂ͓??t?f?[?^???????ǂݍ??܂?Ă??܂??i???t?f?[?^?̓ǂݍ??݂ł?dtype?p?????[?^?[?ɐ?قǂ?????'M8[D]'??n???Ă???_?ɂ????ڂ??܂??傤?j?B
?\?????z??̍쐬
?@?ł́A?\?????z????쐬???܂??B?Ƃ????Ă??A?????numpy.array????dtype?p?????[?^?[?ɐ?قǍ쐬?????\?????f?[?^?^?idtype?j??n???????ł??B???̂Ƃ??ɁA[0, 0, 0, 0]??n???Ă??܂????A????͍\?????z??̗v?f?̏??????Ɏg???܂??iCSV?t?@?C????4?s?̃f?[?^???i?[???Ă???̂ŁA?????ł͖????I??4??0??v?f?Ƃ??郊?X?g??n???Ă??܂??j?B
sa = np.array([0, 0, 0, 0], dtype=dtype)
sa
# ?o?͌??ʁF
#array([('1970-01-01', 0., 0.), ('1970-01-01', 0., 0.),
# ('1970-01-01', 0., 0.), ('1970-01-01', 0., 0.)],
# dtype=[('date', '<M8[D]'), ('value0', '<f8'), ('value1', '<f8')])
?@????ɂ??A???t???u'1970-01-01'?v?ő??̗v?f?̒l??0?ł???\?????z?쐬????܂????B???̓??t?Ȃ̂́A?O????q?ׂ܂??????Anumpy.datetime64?N???X?ł?0??1970?N1??1?????Ӗ?????悤?ɂȂ??Ă??邩??ł??B?܂??A[0, 0, 0, 0]?Ƃ???4?v?f?̃??X?g??n?????Ƃ???A?\?????z??̊e?t?B?[???h?̒l???S??0?ɏ?????????܂????B?????̂?????̓??X?g??Ⴆ??[0, 1, 2, 3]?̂悤?ɂ??邱?ƂŁA??0?v?f?????3?v?f?܂ł̒l???ǂ??Ȃ邩???m?F???Ă????????B
?@?܂??A???̍s?ɂ????ڂł??B
print(sa.shape) # (4,)
?@?u(4,)?v?Ƃ????o?͌??ʂ??????Ă????̂́A???̍\?????z??͕????̃f?[?^???i?[????\?????f?[?^?^?̒l??v?f?Ƃ???1?????z?Ƃ??????Ƃł??B4?s3???2?????z??ł͂Ȃ????Ƃɂ͒??ӂ??܂??傤?B
?@???邢??numpy.ndarray?N???X?̃C???X?^???X?ڍ쐬??????@???l?????܂????A?????ł͎??グ?܂???B
?\?????z??ւ̑??
?@?쐬?????\?????z??֓ǂݍ??f?[?^???????Ă????܂??傤?B?܂??͓??t????ł??i???ɂ???Ắfvalue0?f?t?B?[???h??'value1'?t?B?[???h?̒l???قȂ??Ă??邩??????܂???j?B
sa['date'] = dates
sa
# ?o?͌??ʁF
#array([('2024-01-01', 0., 0.), ('2024-01-02', 0., 0.),
# ('2024-01-03', 0., 0.), ('2024-01-04', 0., 0.)],
# dtype=[('date', '<M8[D]'), ('value0', '<f8'), ('value1', '<f8')])
?@?o?͌??ʂ?????ƁA???t???ς???Ă??邱?Ƃ??m?F?ł??܂??ˁB
?@??q?̂悤?ɁA?\?????z??̃t?B?[???h?ɂ͂??̖??O???g???ăA?N?Z?X???܂??B???̗?ł́usa['date']?v?Ƃ??邱?ƂŁA?\?????z???date?t?B?[???h?֑???i???????݃A?N?Z?X?j?????Ă??܂??B???????A?Q?Ɓi?ǂݎ??A?N?Z?X?j???\?ł??B
print(sa['date']) # ['2024-01-01' '2024-01-02' '2024-01-03' '2024-01-04']
?@??????sa['date']?t?B?[???h??Python?̐????l?i?X?J???[?l?j??1??????????Ă݂܂??傤?B
sa['date'] = 3
sa['date']
# ?o?͌??ʁF
#array(['1970-01-04', '1970-01-04', '1970-01-04', '1970-01-04'],
# dtype='datetime64[D]')
?@???̏ꍇ?A?\?????z??̑Ή?????t?B?[???h?̑S?Ă̗v?f?ɒl?????????܂??B???????A?usa = 3?v?̂悤?ɂ???ƁA????͕ϐ?sa??3???????邾???ɂȂ?܂??B???????I???????usa['date'] = dates?v?????s???āA???̃t?B?[???h?ɐi?݂܂??傤?B
sa['value0'] = data[:, 0]
sa
# ?o?͌??ʁF
#array([('2024-01-01', 5., 0.), ('2024-01-02', 8., 0.),
# ('2024-01-03', 1., 0.), ('2024-01-04', 6., 0.)],
# dtype=[('date', '<M8[D]'), ('value0', '<f8'), ('value1', '<f8')])
?@'value0'?t?B?[???h?ł?????Ă??邱?Ƃ͏?Ɠ??l?ł??B???????A?ϐ?data?ɓǂݍ??f?[?^??4?s2??̑??????z??Ȃ̂ŁA???̑?0?????????悤?ɂ????ł́udata[:, 0]?v?̂悤?ȕ\?L?????Ă??܂??B?o?͌??ʂ?????ƁA'value0'?t?B?[???h?̒l???ς???Ă??邱?Ƃ??m?F?ł??܂????B
?@?Ō?̃t?B?[???h?????l?ł??B
sa['value1'] = data[:, 1]
sa
# ?o?͌??ʁF
#array([('2024-01-01', 5., 2.), ('2024-01-02', 8., 7.),
# ('2024-01-03', 1., 10.), ('2024-01-04', 6., 2.)],
# dtype=[('date', '<M8[D]'), ('value0', '<f8'), ('value1', '<f8')])
?@?????Ō???CSV?t?@?C???̓??e???m?F???Ă????܂??傤?B
print(Path('test.csv').read_text())
# ?o?͌??ʁF
#date,value0,value1
#2024-01-01,5.,2.
#2024-01-02,8.,7.
#2024-01-03,1.,10.
#2024-01-04,6.,2.
?@?e?s?e??̒l?????????́A?????ō\?????z????쐬???đ?????Ă??????ƂŁAnumpy.loadtxt???œǂݍ????̂Ɠ??????ʂ??????܂????B
?????t?B?[???h??s?f?[?^?̎Q?ƂƑ??
?@?????̃t?B?[???h?̒l???ɎQ?Ƃ???Ƃ??ɂ́A?p???????u[]?v?̓????ɂ???Ɋp????????u???A???̒??ɎQ?Ƃ??????t?B?[???h?̖??O???L?q???܂??B
print(sa[['date', 'value1']])
# ?o?͌??ʁF
#[('2024-01-01', 2.) ('2024-01-02', 7.) ('2024-01-03', 10.)
# ('2024-01-04', 2.)]
?@???̕??@?Ńt?B?[???h???w?肵?āA?????ɒl???????邱?Ƃ??\?ł??B?ȉ??ɗ???????܂??B
sa[['date', 'value1']] = [('2025-01-01', 20.), ('2025-02-01', 15.), ('2025-03-01', 10.), ('2025-04-01', 5)]
print(sa)
# ?o?͌??ʁF
#[('2025-01-01', 5., 20.) ('2025-02-01', 8., 15.) ('2025-03-01', 1., 10.)
# ('2025-04-01', 6., 5.)]
?@???̗?ł?4?s????'date'?t?B?[???h??'value1'?t?B?[???h?̒l?????X?g?̗v?f?Ƃ??đ?????Ă??܂??B????A?ȉ??̂悤?ȑ?????\?ł??B
sa[['value0', 'value1']] = (1, 2)
print(sa)
# ?o?͌??ʁF
#[('2025-01-01', 1., 2.) ('2025-02-01', 1., 2.) ('2025-03-01', 1., 2.)
# ('2025-04-01', 1., 2.)]
?@??????ł͗v?f??2???^?v????1??????????Ă??܂????A???̂Ƃ??ɂ͑S?Ă̗v?f?ւ??̒l?????????܂??B
?@?s?f?[?^???Q?Ƃ???Ƃ??ɂ́A?????l?̃C???f?b?N?X???g?p???܂??B
print(sa[0]) # ('2025-01-01', 5., 20.)
?@?s???????????l?̃C???f?b?N?X?ƃt?B?[???h?????Ɏg?p???邱?Ƃ??\?ł??B
print(sa[0]['date']) # 2025-01-01
print(sa[0][['date', 'value0']]) # ('2025-01-01', 5.)
?@???̕??@?œ???̗v?f?ɒl???????邱?Ƃ??ł??܂??i???????A?????l?̃C???f?b?N?X?ɉ????ăt?B?[???h???w?肵???ꍇ?͑???ł??Ȃ??悤?ł??j?B
sa[0]['date'] = '2023-12-31'
print(sa)
# ?o?͌??ʁF
#[('2023-12-31', 5., 2.) ('2024-01-02', 8., 7.) ('2024-01-03', 1., 10.)
# ('2024-01-04', 6., 2.)]
?@????̘b?͂????܂ł??\?????z??Ƃ͉?????m??ق?̈???ł???????܂???B?????̗N????????NumPy?̌????h?L???????g?Ȃǂ??Q?l?ɂ??Ă??낢??ƐG???Ă݂Ă????????B
?@???āA????܂ł?NumPy?ɏœ_?ĂĂ??܂??????A?????pandas?̊?{?I?Ȓm?????݂Ȃ???ƈꏏ?Ɍ??Ă??????Ƃɂ??܂??傤?B
Copyright© Digital Advantage Corp. All Rights Reserved.
?A?C?e?B???f?B?A????̂??m?点
??IT eBook
?ҏW??????̂??m?点
RSS?ɂ???
?A?C?e?B???f?B?AID?ɂ???
???[???}?K?W???o?^
??IT?̃??[???}?K?W???́A ???????A???ׂĖ????ł??B???Ѓ??[???}?K?W???????w?ǂ????????B
ITmedia?̓A?C?e?B???f?B?A??????Ђ̓o?^???W?ł??B
???f?B?A?ꗗ | ????SNS | ?L???ē? | ???₢???킹 | ?v???C?o?V?[?|???V?[ | RSS | ?^?c??? | ?̗p??? | ??????







